나중에 큰 이어 파일에 포함하기 위해 마른 전쟁을 만들려고합니다. 귀 빌드는 전쟁의 프로젝트와 완전히 별개이며 날카로운 전쟁을 제공하고 정확한 마니 페스트 파일을 제공하기를 기대하며 귀는 root/libs 폴더에 제공된 jar를 제공하겠다고 약속합니다.maven-war-plugin lib 디렉토리에서 제공된 jar를 제외하지만 접두사 폴더가있는 manifest에 포함하는 방법
문제 전쟁의 manifest.mf 파일에 제공된 jar 파일이 귀의/libs 폴더에 있고 컴파일/런타임 jars가 전쟁 중임을 지정하는 중입니다. 은 즉 MANIFEST.MF 클래스 경로 항목은 다음과 같이하고 싶어 : 제공 귀의 libs와 디렉토리에 기대에
Class-Path: libs/commons-lang.jar commons-codec.jar
공유지 - 랭 범위가.
commons-codec은 컴파일 시간이며 전쟁의 일부가 될 것으로 예상됩니다.
내가 받는다는 전쟁 - 플러그인 탐구했지만 그것은 단지 제공된 의존성에 대한 classpathPrefix을 공급 얻는 방법을 알아낼 수 없습니다.
제안 사항을 알려주십시오.
최종 채택 된 솔루션 귀에서 제공하는 종속성이 필요합니다 (팁 및 링크 모든 덕분에) 제공에 범위 수 이것은, 해킹주의 : 가짜-application.xml을 :
<plugin>
<!--required to fix the war's manifest and skinny the war-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10.1</version>
<configuration>
<defaultLibBundleDir>lib/</defaultLibBundleDir>
<skinnyWars>true</skinnyWars>
<generateApplicationXml>true</generateApplicationXml>
<applicationXml>${project.basedir}/src/test/fake-ear/fake-application.xml</applicationXml>
</configuration>
<executions>
<execution>
<phase>verify</phase>
<goals><goal>ear</goal></goals>
</execution>
</executions>
</plugin>
을
나는 다음 저장소에 새로운 마른 전쟁을 배포하고 그래서 받는다는 배포 플러그인을 사용하여 않았다 Tunaki의 maven-ear-plugin
제안이 더 나은 것 같다
<plugin>
<!--used in release build to deploy skinny war to nexus-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<executions>
<execution>
<id>deploy-file</id>
<phase>install</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<!--location of the skinny war after maven-ear-plugin builds it-->
<file>${project.build.directory}/${project.artifactId}-${project.version}/${artifactid}-${project.parent.version}.war</file>
<repositoryId>releases</repositoryId>
<url>${distributionManagement.repository.url}</url>
<groupId>${project.parent.groupId}</groupId>
<artifactId>${artifactid}</artifactId>
<version>${project.parent.version}</version>
<packaging>war</packaging>
</configuration>
</execution>
</executions>
</plugin>
당신은 당신이 EAR을 만들려면 때문에, 메이븐 EAR 플러그인을보고 싶다. 그것은 끈적 끈적한 전쟁을 지원하며, 각 WAR의 목록을 올바르게 다시 작성합니다. http://maven.apache.org/plugins/maven-ear-plugin/examples/skinny-wars.html – Tunaki
하지만 그렇지 않으면' 설정이 제대로 작동하려면 true addClasspath>'링크 된 질문을보십시오. –
Tunaki