【问题标题】:Add subversion revision to war manifest using maven2使用 maven2 向战争清单添加颠覆修订
【发布时间】:2010-06-02 21:57:29
【问题描述】:

我想找一个 maven native(即不调用外部程序)在战争清单中注入 svn 修订版。

有人知道怎么做吗?

我发现提到了如何将颠覆修订添加到 jar 文件中的清单中,而不是战争文件中。

我搜索了 SO,但没有专门找到这个问题。

【问题讨论】:

    标签: java maven-2 build-automation war


    【解决方案1】:

    我想找一个 maven native(即不调用外部程序)在战争清单中注入 svn 修订版。

    Build Number Maven Plugin 使用 svnjava 提供程序可以做到这一点:

    如果你需要执行插件 路径中没有任何 svn 的机器 您可以配置 mojo 以使用 svnjava 提供者。

      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <version>1.0-beta-3</version>
            <executions>
              <execution>
                <phase>validate</phase>
                <goals>
                  <goal>create</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <doCheck>true</doCheck>
              <doUpdate>true</doUpdate>
              <providerImplementations>
                <svn>javasvn</svn>
              </providerImplementations>          
            </configuration>
          </plugin>
        </plugins>
      </build>
    

    内部版本号 Maven 插件在 ${buildNumber} 属性中设置内部版本号,然后您可以在 POM 中使用该属性。

    我发现提到了如何将颠覆修订添加到 jar 文件中的清单中,而不是战争文件中。

    然后,要在战争清单中添加内部版本号,请按照Usage 页面中的说明配置插件:

      <build>
        ...
        <plugins>
          <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-Build>${buildNumber}</Implementation-Build>
                </manifestEntries>
              </archive>
            </configuration>
          </plugin>
        </plugins>
      </build>
    

    【讨论】:

      【解决方案2】:

      试试this。大约走到一半,找maven-war-plugin

        <build>
          ...
          <plugins>
            <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-Build>${buildNumber}</Implementation-Build>
                  </manifestEntries>
                </archive>
              </configuration>
            </plugin>
          </plugins>
        </build>
      

      【讨论】:

        猜你喜欢
        • 2011-04-11
        • 1970-01-01
        • 2011-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多