정적 리소스 webjar 형식으로 만들기 본문
반응형
Webjar이란?
- jQuery이나 Bootstrap 같은 클라이언트 사이트의 라이브러리를 jar로 하여, Java 라이브러리와 같은 요령으로 Maven과 Gradle에 따라 관리 할 수 있도록 한 서비스.
WebJars - Web Libraries in Jars - 팀내에서 쓰는 유료 Third-party Library나 기타 정적 라이브러리들도 Maven으로 관리하며, 사설 리파지토리를 통해 배포하기 위해 Webjar 형태로 생성
- 자바소스와 정적리소스를 분리하고자 함
- 예) local-www.test.com 자바 톰캣으로 접속하면 정적 리소스는 dev-static.cdn.com 에서 찾음
Webjar 프로젝트 생성 및 리소스 위치 시키기
POM 설정하기
생성한 Project 의 pom.xml 에 라이브러리 정보를 기입한다. (이 정보들은 사용하려는 프로젝트에서 의존성을 걸어주는 정보로 활용된다.)
<!-- 리소스들이 위치할 경로 설정 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals><goal>run</goal></goals>
<configuration>
<target>
<move todir="${destDir}">
<fileset dir="${project.build.outputDirectory}"
includes="*.html, css/, font/, html/, img/, js/, templates/"></fileset>
</move>
</target>
</configuration>
</execution>
</executions>
</plugin>
<!-- 압축 -->
<plugin>
<groupId>com.googlecode.todomap</groupId>
<artifactId>maven-jettygzip-plugin</artifactId>
<version>0.0.4</version>
<configuration>
<webappDirectory>target/classes</webappDirectory>
<outputDirectory>target/classes</outputDirectory>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>process</goal>
</goals>
</execution>
</executions>
</plugin>
사용하려는 프로젝트에 의존성 걸어주기
<!-- 기존에 존재하는 Webjar -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>1.11.1</version>
</dependency>
<!-- 위에서 만든 Webjar -->
<dependency>
<groupId>com.test.webjars</groupId>
<artifactId>bo-ui</artifactId>
<version>${webjar.version}</version>
</dependency>
반응형
Comments