我应该在哪里跟踪我的Java EE Web应用程序版本

时间:2013-03-15 04:47:07

标签: java java-ee maven

在网络应用程序中,我应该在哪里提及并跟踪version numbe r?

我正在使用mavenpom.xml中有版本元素。但是,在打包为war后,我无法追溯该版本号。但是,该版本号作为applicationname-1.0.1.war存储在文件名中。我想知道它是否存储在包装内的任何地方或以任何方式进行操作?

2 个答案:

答案 0 :(得分:2)

使用maven archive plugin将其存储在WARs Manifest中。

答案 1 :(得分:1)

如果在MANIFEST中标记版本足以满足您的需求,那么您需要配置maven-war-plugin,如下所示:

  <build>
    <pluginManagement>
      <plugins>
        ...
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.3</version>
          <configuration>
            <archive>
              <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              </manifest>
              <manifestEntries>
                <Build-Repository-Rev>${SVN_REVISION}</Build-Repository-Rev>
                <Build-Time>${maven.build.timestamp}</Build-Time>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        ...

manifestEntries元素的子元素可以是任何元素,并将创建具有给定名称的条目。在此示例中,除了“addDefaultImplementationEntries”创建的条目之外,还将使用“SVN_REVISION”环境变量和“maven.build.timestamp”属性创建“Build-Repository-Rev”和“Build-Time”条目。其中包括$ {project.version}中的“Implementation-Version”条目集。