【发布时间】:2010-06-02 21:57:29
【问题描述】:
我想找一个 maven native(即不调用外部程序)在战争清单中注入 svn 修订版。
有人知道怎么做吗?
我发现提到了如何将颠覆修订添加到 jar 文件中的清单中,而不是战争文件中。
我搜索了 SO,但没有专门找到这个问题。
【问题讨论】:
标签: java maven-2 build-automation war
我想找一个 maven native(即不调用外部程序)在战争清单中注入 svn 修订版。
有人知道怎么做吗?
我发现提到了如何将颠覆修订添加到 jar 文件中的清单中,而不是战争文件中。
我搜索了 SO,但没有专门找到这个问题。
【问题讨论】:
标签: java maven-2 build-automation war
我想找一个 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>
【讨论】:
试试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>
【讨论】: