webjars 란 클라이언트에서 사용하는 웹 라이브러리를 JAR 파일 안에 패키징 한 것이다.
jar 파일은 여러개의 자바 클래스 파일과 클래스들이 이용하는 관련 리소스( 텍스트, 그림 등 ) 및
메타데이터를 하나의 파일로 모아서자바 플랫폼에 응용 소프르웨어나 라이브러리를 배포하기 위한
소프트웨어 패키지 파일 포맷이다. ZIP 파일 포맷으로 이루어진 압축 파일이다.
그렇다면 우리는 webjar 를 통해서 압축된 jar 파일들을 미리 갖고 있게되고
필요한 파일들을 골라서
gradle 의 경우에는
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.webjars:webjars-locator-core'
implementation 'org.webjars:sockjs-client:1.0.2'
implementation 'org.webjars:stomp-websocket:2.3.3'
implementation 'org.webjars:bootstrap:3.3.7'
implementation 'org.webjars:jquery:3.1.1-1'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
위와 같이 implementation 에 추가해주기만 하면 빌드해주는 고마운 녀석이다.
출처:
[허니몬(Honeymon)의 자바guru]
위에서 implement 한 jquery 의 경우,
위와 같이 빌드되어 있는 것을 볼 수 있다.
당황하지 마라. min.js 는 minify 의 줄임말로, 공백과 줄바꿈을 제거하여 용량을 줄인 파일이다.
사람이 알아보기에는 힘들지만 컴퓨터 입장에서는 알아볼 수 있고, 전송량이 적으니 실제 서비스에서
유용하게 사용된다.
그래서 위에서 빌드된 파일을
<script src="/webjars/jquery/3.1.1-1/jquery.min.js"></script>
위와 같이 사용 할 수 있게 된다. 위에서 3.1.1-1 과 같이 매번 버전을 작성하기 귀찮아하는
우리 개발자들을 위해서 같은 게으름을 공유하는 다른 개발자 분들이
webjar-locator 를 통해서 버전을 생략 할 수 있도록 해주셨으니 참고해서 사용하면 좋을 것 같다!