POM 파일의 버전 번호를 /WEB-INF/manifest.mf 아래의 WAR 파일에있는 매니페스트에 삽입해야합니다.war 파일 목록에 Maven 프로젝트 버전을 넣는 방법은 무엇입니까?
어떻게하면됩니까? maven-jar-plugin을 사용하여 JAR 파일에서이 작업을 수행하기위한 문서를 쉽게 만들 수 있었지만 WAR 파일에서는 작동하지 않습니다.
도움 주셔서 감사합니다.
POM 파일의 버전 번호를 /WEB-INF/manifest.mf 아래의 WAR 파일에있는 매니페스트에 삽입해야합니다.war 파일 목록에 Maven 프로젝트 버전을 넣는 방법은 무엇입니까?
어떻게하면됩니까? maven-jar-plugin을 사용하여 JAR 파일에서이 작업을 수행하기위한 문서를 쉽게 만들 수 있었지만 WAR 파일에서는 작동하지 않습니다.
도움 주셔서 감사합니다.
maven-war-plugin을 사용하여 알아 냈습니다. 아래의 구성을 참조하십시오 :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<archive>
<manifestEntries>
<version>${project.version}</version>
</manifestEntries>
</archive>
</configuration>
</plugin>
버전을 원하는 manifest.mf에 ${project.version}
을 넣으십시오. 이 기능을 작동 시키려면 자원 플러그인이 필요하다고 생각합니다. 따라서 인력이 리소스를 '파일'에 포함 시키면 리소스가 병 파일에 포함됩니다.
을하지만 매니페스트 파일은 자원이 아니다. 빌드시 생성됩니다. 맞습니까? 빌드시 생성되면 자원으로 처리되지 않습니다. 내가 뭔가를 오해하고 있니? –
@Matthew 그것은 리소스가 될 수 있지만 잘못된 접근 방법입니다. 맞습니다. 파일은 maven-war-plugin에 의해 즉석에서 생성됩니다. 귀하의 대답은 정확합니다. – yegor256
을 또는 당신은 또는 addDefaultSpecificationEntries에게 project.version
특성 등 여러 가지 항목을 추가합니다 플래그를 addDefaultImplementationEntries를 사용할 수 있습니다.
addDefaultImplementationEntries
Implementation-Title: ${project.name}
Implementation-Version: ${project.version}
Implementation-Vendor-Id: ${project.groupId}
Implementation-Vendor: ${project.organization.name}
Implementation-URL: ${project.url}
addDefaultSpecificationEntries 모두가 거짓을 위해
Specification-Title: ${project.name}
Specification-Version: ${project.version}
Specification-Vendor: ${project.organization.name}
기본 값입니다. 속성이 정의되지 않은 경우 (예 : project.organization.name
) 해당 행이 매니페스트에서 제외됩니다.
다음과 같이는 받는다는 전쟁 - 플러그인 구성에 갈 수 :
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
'http : // example.com/versioninfo.txt'와 같이 웹 URL을 통해 그러한 버전 정보를 읽는 것에 관심이 있다면'versioninfo.txt' 템플릿을 필터링 할 수 있습니다.이 템플릿에는'$ {project .version}'을 사용하고 버전 파일을 전쟁에 포함 시키십시오 (http://www.taringamberini.com/en/howto/java/2015/including-release-info-into-war/). -war-plugin'. – taringamberini