【问题标题】:Buildnumber maven plugin returns nullBuildnumber maven插件返回null
【发布时间】:2012-10-29 15:29:18
【问题描述】:

我的问候!

我确实编写了大量文档,但仍然遇到同样的错误 :( 我使用 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>

【问题讨论】:

  • 请使用最新版本的 buildnumber 插件(当前版本为:1.1)。
  • 已经做到了。那是一张老照片。
  • 我已经修复了codelines,不要关注up-comment。仍然为空,版本 1.1
  • 将条目更改为有用的内容
  • 这个项目已经提交到svn还是一个全新的项目?我似乎记得在我尚未提交的新项目中看到“null”……但那是不久前的事了。

标签: java maven pom.xml


【解决方案1】:

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

首先,maven-jar-plugin&lt;configuration/&gt; 部分中的&lt;properties/&gt; 部分不属于那里。请参阅 here 如何使用它们。

然后你应该告诉&lt;mainClass/&gt;标签的完全限定类。星号不起作用。

当涉及到scm 部分时,您必须将&lt;scm/&gt; 标签添加到您的pom.xml 以及命令行svn 客户端。

这是我使用您的配置运行mvn install 时创建的META-INF/MANIFEST.MF

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

如您所见,我没有得到Implementation-BuildNULL 值。如前所述,Main-Class: com.*.main.Main 也不起作用。

为了能够为您提供更多帮助,您需要发布更多信息,例如 &lt;scm/&gt; 标签。

【讨论】:

  • 我知道 mainclass - 我只是隐藏了我公司的名称,哈哈。 =)
【解决方案2】:

问题是 TortoiseSVN 不在我的路径中。所以我必须安装类似 SilkSVN 的东西,这样我才能在系统路径中使用它的库。

【讨论】:

  • 我在系统环境的 Path 变量中有 TortoiseSVN。你的解决方案是什么意思?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 2014-03-20
  • 2013-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
相关资源
最近更新 更多