我想在 Web 应用的主页面上显示版本号,如何使用 Maven 实现这一功能?
附言:这是一个两部分的问题,分别是如何获取版本号以及如何将其写入项目中选择的文件。
我想在 Web 应用的主页面上显示版本号,如何使用 Maven 实现这一功能?
附言:这是一个两部分的问题,分别是如何获取版本号以及如何将其写入项目中选择的文件。
maven构建号插件是首选。如何使用它的示例在此处:
http://www.mojohaus.org/buildnumber-maven-plugin/usage.html
您将与maven jar插件一起使用,以将SVN提交号打印到您的清单中。
这比使用包含SVN提交号的文件更好,因为这会增加不必要的移动部分。
如果您已经安装了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>
您没有说明使用的平台,而且请原谅我对maven不熟悉。我假设它可以调用外部程序,并且您知道如何让它这样做。
如果在Unix平台上,您应该使用svnversion命令,并将其输出(指定工作路径的版本号)导入文件中,然后您可以根据需要将其合并到网页中。
svnversion --help
详细展示它的功能。
如果您使用的是Windows,并且正在使用TortoiseSVN客户端,则其中有一个名为SubWCRev的优秀Windows命令行程序与其捆绑在一起。此实用程序将扩展您提供的文本文件中的宏,其中包含您正在使用的svn存储库的各种详细信息 - 您可以控制输出格式。非常方便。有关此的帮助文件在这里:http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html