두 개의 EJB 및 몇 가지 웹 응용 프로그램을 사용하여 ear 파일을 작성하는 데 maven을 사용하고 있습니다. 더 많은 전쟁이 뒤 따르기 때문에 마른 전쟁을 사용하고 싶습니다. 내가 알 수있는 바와 같이Maven : SkinnyWars가 일부 라이브러리를 보존하도록하십시오.
, 다음 모든 전쟁 파일의 WEB-INF/lib 디렉토리에서 EJB (단지 제외) 모든 * .jar 파일을 제거합니다 :
는<dependencies>
<dependency>
<groupId>my.domain</groupId>
<artifactId>project</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<!-- Scope: Provided for skinnies. -->
<dependency>
<groupId>my.domain</groupId>
<artifactId>project</artifactId>
<version>${project.version}</version>
<type>pom</type>
</dependency>
</dependencies>
[..]
<configuration>
<version>7</version>
<defaultLitBundleDir>lib/</defaultLitBundleDir>
<skinnyWars>true</skinnyWars>
[..]
내가 가진 문제는 분명히 것입니다 또한 webjars을 모두 제거하십시오. Webjars이 같은 jar 파일 내부에 포장되어 웹 라이브러리 (등 CSS, JS,)입니다 : 어떤 서블릿 3 호환 용기와
의 WEB-INF/lib 디렉토리에있는 WebJars가 자동으로 만들어집니다 정적 인 리소스로 사용 가능합니다. 이는 WEB-INF/lib의 JAR에있는 META-INF/resources 디렉토리에있는 모든 것이 정적 인 자원으로 자동 노출되기 때문에 가능합니다.
출처 : 나는 정말이 생각처럼 http://www.webjars.org/documentation#servlet3
. 이제는 모든 항아리가 myear!/lib/webjar로 옮겨 질 때 포함 된 파일은 더 이상 노출되지 않습니다. :-(
나는 (: : org.webjars 같은) 특정 라이브러리를 제외 할 수 skinnyWars에 대한 옵션을 발견하지 않았습니다. 다른 해결책이있을 경우
, 나는 귀하의 의견을보고 싶어요
아니요, WAR에서 모든 JAR을 제거하지 않습니다. EAR의 POM에 종속성으로 지정된 것만. http://maven.apache.org/plugins/maven-ear-plugin/examples/skinny-wars.html – Tunaki
Ahh okay를 참조하십시오. 방금 종속성을 가진 전쟁을 다시 포함 시켰습니다. DRY 원리 때문에 type = pom. 어쨌든 다른 솔루션을 발견하여 잠시 후 게시합니다. – Ben