실제로 Maven은 설계 상 프로젝트의 종속성으로 선언 된 전쟁의 전 이적 종속성을 해결하지 않습니다. 거기에 대한 문제, 실제로 MNG-1991 있지만 메이븐 2.X에서 해결되지 않고 나는 있는지 모르겠어요 오버레이가이 문제를 해결 할 수 있다면 나도 몰라. 제안 된 솔루션에 대한 나의 이해는 예를 들어 pom 유형의 프로젝트에서 종속성을 복제하는 것입니다.
(편집하다 : 좀 더 파헤친 후, 아래에서 인용하고 있는 이 스레드 에서 흥미로운 것을 발견했습니다 .
저는 지난 달에 Maven 전쟁 플러그인에서 전쟁 오버레이 기능을 많이 사용하는 AppFuse 프로젝트 개발을 돕고 있습니다. 정말 멋진 기능입니다!
전쟁 오버레이로 최대의 힘을 얻기 위해 프로젝트에서 전쟁 아티팩트를 완전한 종속성으로 사용할 수 있도록하는 Warpath 플러그인을 개발했습니다. 간단히 말해서 :
1) war 의존성 아티팩트에있는 / WEB-INF / classes 디렉토리의 내용은 일반 컴파일 등의 작업을위한 프로젝트의 클래스 경로에 포함될 수 있습니다.
2) 전쟁 종속성 아티팩트의 전이 종속성은 다른 플러그인 (예 : 컴파일 및 귀)에서 사용할 수있게되므로 더 이상 스키니 전쟁을 만들 때 모든 종속성을 포함 할 필요가 없습니다!
플러그인은 이제 지난 몇 달 동안 AppFuse 프로젝트에서 적극적으로 사용되었으며, 사용 가능하고 안정적인 시점에 있다고 생각합니다. war 플러그인 팀이 war 플러그인에 warpath 기능을 포함하는 데 관심이 있습니까? 그것을 호스팅하는 가장 자연스러운 장소 인 것 같습니다.
그래서 나는 그것에 대한 경험이 없지만 maven warpath 플러그인은 실제로 멋지고 간단 해 보이며 중앙 저장소에서 사용할 수 있습니다. 이를 사용하려면 pom.xml
파일 에 다음 플러그인 구성 요소를 포함하십시오 .
[...]
<build>
<plugins>
<plugin>
<groupId>org.appfuse</groupId>
<artifactId>maven-warpath-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>add-classes</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
그리고 warpath 유형 종속성으로 클래스 경로에 포함하려는 전쟁 종속성을 추가하십시오 .
[...]
<dependencies>
<dependency>
<groupId>org.appfuse</groupId>
<artifactId>appfuse-web</artifactId>
<version>2.0</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.appfuse</groupId>
<artifactId>appfuse-web</artifactId>
<version>2.0</version>
<type>warpath</type>
</dependency>
</dependencies>
[...]
war 및 warpath 종속성 유형이 모두 필요합니다. war 유형은 Maven war 플러그인에서 전쟁 오버레이를 수행하는 데 사용되고 warpath 유형은 Warpath 플러그인에서 프로젝트 클래스 경로에 포함 할 올바른 아티팩트 목록을 결정하는 데 사용됩니다.
나는 그것을 시도 할 것입니다.)