Buildnumber maven插件返回null

时间:2012-10-29 15:29:19

标签: java maven pom.xml

我的问候!

我已经解决了很多文档,但我仍然得到同样的错误:( 我使用Buildnumber maven插件来获取svn版本,但它始终返回null。

这是pom:

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>1.1</version>
        <executions>
           <execution>
             <phase>validate</phase>
               <goals>
                   <goal>create</goal>
               </goals>
          </execution>
       </executions>
       <configuration>
           <revisionOnScmFailure/>
           <doCheck>false</doCheck>
           <doUpdate>true</doUpdate>
       </configuration>
    </plugin>

...

    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <properties>
            <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
            <build.timestamp>${maven.build.timestamp}</build.timestamp>
        </properties>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
                <mainClass>com.*.main.Main</mainClass>
            </manifest>
            <manifestEntries>
                <Implementation-Build>${buildNumber}</Implementation-Build>
                <build-timestamp>${maven.build.timestamp}</build-timestamp>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>

另外,我在我的路径中配置了一个Tortoise svn,所有要求都已完成,这些都在官方文档中有说明。构建,清理,安装都是成功的,但SVN版本仍为NULL。

我真的很感谢你的帮助,我花了好几个小时让这件事工作......

编辑 - 我的scm配置存根

<scm>
    <connection>scm:svn:http://none</connection>
        <developerConnection>scm:svn:https://none</developerConnection>
    <url>scm:svn:https://none</url>
</scm>

2 个答案:

答案 0 :(得分:0)

我尝试过配置,除了一些配置问题之外我没有发现任何直接问题。

首先,<properties/> <configuration/>部分maven-jar-plugin部分中的<mainClass/>部分不属于此部分。请参阅here应如何使用它们。

然后你应该告诉scm标签的完全限定类。星号不起作用。

说到<scm/>部分,您必须将pom.xml标记添加到META-INF/MANIFEST.MF以及命令行svn客户端。

这是我使用您的配置运行mvn install时创建的Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Created-By: Apache Maven Built-By: maba Build-Jdk: 1.7.0_07 Main-Class: com.*.main.Main Implementation-Build: 8 build-timestamp: 2012-10-30 09:09 Class-Path: lib/log4j-1.2.14.jar

NULL

正如您所看到的,我Implementation-Build没有得到Main-Class: com.*.main.Main值。如前所述,<scm/>也不会起作用。

为了能够为您提供更多帮助,您需要发布更多信息,例如{{1}}标记。

答案 1 :(得分:0)

问题在于TortoiseSVN不在我的道路上。所以我不得不安装类似SilkSVN的东西,所以我可以在系统路径中使用它的'libs。