3

在 Web 应用程序中,我应该在哪里提及和跟踪version number?

我正在使用maven,它在pom.xml. 但是,我无法在打包为war. 但是,该版本号存储在文件名中为applicationname-1.0.1.war. 我想知道它是否存储在包装内的某个地方或任何方式?

4

2 回答 2

2

使用maven 存档插件将其存储在 WARs Manifest 中。

于 2013-03-15T05:18:23.227 回答
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} 的“实施版本”条目集。

于 2013-03-15T05:37:56.417 回答