我想把修订号放在webapp的主页上,我怎么能用maven做呢?
P.S。它的两个部分问题,如何获得修订号以及如何将其写入项目中的选定文件。
答案 0 :(得分:26)
maven build number插件是可行的方法。这里有一个如何使用它的例子:
http://www.mojohaus.org/buildnumber-maven-plugin/usage.html
您可以将它与maven jar插件一起使用,以将SVN提交号打印到您的 清单。
这是一个比使用包含SVN提交号的文件更好的解决方案,因为这会增加比实际需要更多的移动部分。
答案 1 :(得分:7)
如果您正在使用subversion,则可以使用此插件将SVN修订版号作为maven属性提供
http://code.google.com/p/maven-svn-revision-number-plugin/
我将它与jar插件结合起来,将SVN修订版添加到我们jar和war的MANIFEST.MF文件中。
答案 2 :(得分:4)
如果您拥有svn命令行应用程序,则可以使用以下代码 - 我们在项目中使用它(略有改动)
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<mkdir dir="${project.build.directory}/generated-web-resources/svn"/>
<exec dir="${basedir}" executable="svn"
failifexecutionfails="false"
output="${project.build.directory}/generated-web-resources/svn/svnver.jsp">
<arg line="info"/>
</exec>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>${project.build.directory}/generated-web-resources/svn</directory>
</resource>
</webResources>
<warSourceExcludes>**/_svn/**</warSourceExcludes>
</configuration>
</plugin>
</plugins>
</build>
答案 3 :(得分:1)
你没有说你正在使用什么平台,你会原谅我对maven不熟悉。我想它可以调用外部程序,你知道如何让它做到这一点。
如果在Unix平台上,您应该使用程序svnversion命令,并将其输出 - 这是指定的工作路径的版本号 - 传递给文件,然后您可以将其合并到您的网页中。
svnversion --help
显示它可以做些什么。
如果是Windows,并且您正在使用TortoiseSVN客户端,那么就有一个与之捆绑的优秀Windows命令行程序SubWCRev。此实用程序将在您提供的文本文件中展开宏,并提供您正在使用的svn存储库的各种详细信息 - 您可以控制输出的格式。一切都很方便。帮助文件位于:http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html