我有一个问题,在谷歌阅读两页后,我仍然无法找到解决方案。 我想在我的war文件中创建一个清单文件,并介绍我的应用程序的版本。我正在使用apache的mave-war-plugin。 使用版本2.0.2我实现了创建清单文件,但只使用默认信息:
Manifest-Version: 1.0
Built-By: ***********
Build-Jdk: 1.7.0_25
Created-By: Apache Maven 3.1.1
Archiver-Version: Plexus Archiver
2.0.2的代码就是这个:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Version>2.1.0</Implementation-Version>
</manifestEntries>
</archive>
</configuration>
</plugin>
但就像我说的那样,我无法引入新属性“Implementation-Version”
如果我尝试使用插件的最新版本,我根本无法创建清单文件。
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Implementation-Version>2.1.0</Implementation-Version>
</manifestEntries>
</archive>
</configuration>
</plugin>
我正在使用Maven 3而我没有在META-INF中创建任何MANIFEST.FM文件。
我尝试在META-INF中创建自己的MANIFEST.FM。使用此模板,看看是否可以设置值,但也没有。就像我说我尝试一切!
Specification-Title: ****
Specification-Vendor: Company Name
Implementation-Title: Portal web
Implementation-Version: ${Implementation-Version}
Implementation-Vendor:*****
Build-Jdk: ${jdk.version}
继续调查后,我发现我的war文件有2个叠加层。在阅读完之后,我将其添加到主叠加层中,该插件修改了Manifest。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<archive>
<manifestEntries>
<Version>${project.version}</Version>
</manifestEntries>
</archive>
</configuration>
</plugin>
在孩子的战争中插件就像。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
</plugin>
但是然后使用默认值创建清单,使用pom.properties创建maven文件夹,但是在子战争中没有在META-INF中创建任何内容
问候。