修改清单文件

时间:2013-12-02 15:30:11

标签: java apache maven war pom.xml

我有一个问题,在谷歌阅读两页后,我仍然无法找到解决方案。 我想在我的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中创建任何内容

问候。

0 个答案:

没有答案