2013-01-17 164 views
5

我试图在Web应用程序的标题栏上显示最新的SVN修订版本号和时间戳。我当前的代码显示版本号,但不显示时间戳。两者都不会在一起。我使用下面的代码。SVN修订版本号和时间戳

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>buildnumber-maven-plugin</artifactId> 
    <version>1.2</version> 
    <executions> 

    <execution> 
     <phase>validate</phase> 
     <goals> 
     <goal>create</goal> 
     </goals> 
     <configuration> 
     <useLastCommittedRevision>true</useLastCommittedRevision> 
     </configuration> 
    </execution> 

    <execution> 
     <id>generate-timestamp</id> 
     <phase>validate</phase> 
     <goals> 
     <goal>create</goal> 
     </goals> 
    </execution> 

    </executions> 
</plugin> 

它只显示版本号。从jsp我正在访问像这样的值

${initParam['build']} 

然后它显示修订。 显示版本和时间戳所需的修改是什么。我怎样才能访问时间戳值?

+0

为什么你有两个执行相同的目标?另外,你有没有安装命令行svn客户端? –

+0

这个答案说如果我需要两个值,我应该使用2个执行。 http://stackoverflow.com/questions/4319248/maven-buildnumber-plugin-svn-revision-available-only-when-not-using-format。是的,我有命令行svn客户端。 – coder247

+0

我查了你引用的链接。您的配置既不符合接受的答案,也不符合[此附加答案](http://stackoverflow.com/a/12887414/944849)显示两次执行。如果添加缺少的元素(格式,项目等),它是否工作? – user944849

回答

1

我使用的是现在这个样子:

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>buildnumber-maven-plugin</artifactId> 
<version>1.2</version> 
<executions> 
    <execution> 
     <phase>validate</phase> 
     <goals> 
      <goal>create</goal> 
     </goals> 
    </execution> 
</executions> 
<configuration> 
    <format>{0} - {1,date,yyyy-MM-dd HH:mm:ss}</format> 
    <items> 
     <item>scmVersion</item> 
     <item>timestamp</item> 
    </items> 
</configuration> 

而且从JSP访问值这样的:

${initParam['build']} 

这第一个,然后显示SVN版本号时间戳。