2012-05-22 4 views
2

maven으로 빌드 된 EAR ​​파일이 있습니다. EAR에는 몇 개의 jar가 포함되어 있으며이 jar 중 하나만을 위해 manifest 파일에 행을 추가해야합니다. maven-jar-plugin 옵션 (manifestEntries)을 알고 있지만 단일 독립 실행 형 jar에 적합합니다. EAR 내부에있는 것이 아닙니다.Maven에서 Manifest 파일을 조작하는 방법

답변

4

maven-ear-plugin configuration을 자세히 살펴보면 이러한 용도로 사용되는 아카이브 구성 부분을 찾을 수 있습니다.

은 받는다는 - 귀 - 플러그인의 구성에 추가 할 수 있습니다 : 당신이 필요로하는 어떤 기회를 제공

<archive> 
    <addMavenDescriptor/> 
    <compress/> 
    <forced/> 
    <index/> 
    <manifest> 
    <addClasspath/> 
    <addDefaultImplementationEntries/> 
    <addDefaultSpecificationEntries/> 
    <addExtensions/> 
    <classpathLayoutType/> 
    <classpathMavenRepositoryLayout/> 
    <classpathPrefix/> 
    <customClasspathLayout/> 
    <mainClass/> 
    <packageName/> 
    </manifest> 
    <manifestEntries> 
    <key>value</key> 
    </manifestEntries> 
    <manifestFile/> 
    <manifestSections> 
    <manifestSection> 
     <name/> 
     <manifestEntries> 
     <key>value</key> 
     </manifestEntries> 
    <manifestSection/> 
    </manifestSections> 
    <pomPropertiesFile/> 
</archive> 

합니다.

+0

당신이 내 질문에주의 깊게 본다면 특정 항아리의 목록을 편집해야한다는 것을 알게 될 것입니다. 제안한 옵션은 EAR의 모든 항아리의 모든 목록 파일을 편집합니다. – Tomer

+0

Oups .. 기존 JAR을 조작하고 싶습니까? 이 항아리를 만드는이 프로젝트가 당신 손에 있습니까? – khmarbaise

+0

소스 코드가 있습니다. – Tomer

1

나는 maven-shade-plugin을보고 ManifestResourceTransformer을 사용하여 jar의 매니페스트를 변경할 수 있다고 생각합니다.

+0

감사합니다. 그러나 밝혀졌지만, 현재는 필요하지 않습니다.하지만 나중에 필요할 경우 꼭 확인해 보겠습니다. – Tomer