4

我得到 Maven 错误:

Cannot get the revision information from the scm repository

知道如何解决这个问题吗?

4

8 回答 8

4

我也遇到了问题,我在 Windows 上的解决方案是:将环境变量 PATH 设置为“...\git\bin”。Java 找不到使用 Git 的目录。

于 2017-02-23T09:28:41.360 回答
2

在 Google 上快速搜索似乎表明此错误与 buildnumber-maven-plugin 有关。但是,我无法在我的机器(GNU/Linux 上的 Maven 2.2.1、Java 1.6.0_16、svn 1.6.5)上的命令行上重现该错误:

pascal@laptop:~/tmp/$ svn co http://wiquery.googlecode.com/svn/branches/1.0-m2 wiquery
...
pascal@laptop:~/tmp/$ cd wiquery
pascal@laptop:~/tmp/wiquery$ mvn validate
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building WiQuery project
[INFO]    task-segment: [validate]
[INFO] ------------------------------------------------------------------------
[INFO] [buildnumber:create {execution: default}]
[INFO] Checking for local modifications: skipped.
[INFO] Updating project files from SCM: skipped.
[INFO] Executing: /bin/sh -c cd /home/pascal/tmp/wiquery && svn --non-interactive info
[INFO] Working directory: /home/pascal/tmp/wiquery
[INFO] Storing buildNumber: 208 at timestamp: 1256499766371
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Sun Oct 25 20:42:46 CET 2009
[INFO] Final Memory: 13M/77M
[INFO] ------------------------------------------------------------------------
pascal@laptop:~/tmp/wiquery$ 

根据我在 Google 上看到的情况,问题的可能原因包括:

  • svn 可执行文件(即 Windows 上的 svn.exe)不在路径上
  • 与您的 svn 客户端相比,svnkit 版本太旧(请参阅此线程
  • OS X 上缺少环境变量(请参阅MOJO-1289
  • 等等等等

但是,如果没有关于您的上下文、您的环境、您在做什么、何时发生此错误等的更多信息,似乎很难在诊断中走得更远。

于 2009-10-25T20:08:05.263 回答
1

当我帮助同事将他的项目迁移到 Maven 时,我在 buildnumber-maven-plugin 中遇到了这个错误。

我们还没有将代码签入迁移项目中的 svn,因此 .svn 文件夹不存在。显然它无法获得 svn 修订版,因为数据不存在。

解决方案是注释掉插件,将代码导入svn。使用启用了 svn 的代码执行构建,然后重新安装插件并解决任何其他错误。(在 Hudson 上运行时我们遇到了 doUpdate 的一些问题,因此我们删除了这些步骤)。

于 2009-10-26T15:02:15.863 回答
1

当 .svn 不存在时,此错误是由 buildnumber-maven-plugin 中的 javasvn 提供程序引起的。从 SVN 签出您的项目或不使用 javasvn。如果没有 javasvn,buildnumber-maven-plugin 使用命令行 svn 客户端,然后在这种情况下,即使没有 .svn 目录,buildnumber-maven-plugin 也可以继续进行(但内部版本号设置不正确)。

我认为这是 buildnumber-maven-plugin 中的一个错误,即缺少 .svn 目录时 javasvn 无法继续。

于 2011-08-26T10:12:57.950 回答
0

我们可以使用Netbeans8解决的一种情况:

在此处输入图像描述

请注意,已选中 Prefer Old Subversion 1.6 Format

而且我将正确的 apache SVN 与给定的 Maven 属性相匹配

于 2014-12-18T15:55:10.190 回答
0

确保 Jenkins 和操作系统指向相同的 Java 版本。

我在 Windows 上运行 Jenkins 2.121.2 时遇到了类似的问题。

构建会成功,但我没有得到任何 scm 数据。

相关的控制台输出:

[INFO] --- buildnumber-maven-plugin:1.4:create (default) @ amis ---
[INFO] Executing: cmd.exe /X /C "svn --non-interactive info"
[INFO] Working directory: D:\Program Files (x86)\Jenkins\workspace\myWebapp
[WARNING] Cannot get the revision information from the scm repository, proceeding with revision of Unavailable : 
Exception while executing SCM command.
[INFO] Storing buildNumber: Unavailable at timestamp: 1534704912706
[INFO] Executing: cmd.exe /X /C "svn --non-interactive info"
[INFO] Working directory: D:\Program Files (x86)\Jenkins\workspace\myWebapp
[WARNING] Cannot get the branch information from the scm repository, proceeding with UNKNOWN_BRANCH : 
Exception while executing SCM command.
[INFO] Storing buildScmBranch: UNKNOWN_BRANCH

但是,在 DOS 中,以下命令可以工作:

D:\Program Files (x86)\Jenkins\workspace\myWebapp\svn --non-interactive info

也就是说,我会得到预期的 scm 信息。所以 svn 在路径中,没有问题。

事实证明,我的 Java 版本的路径是交叉的。

我的 PATH 环境变量中的第一个与 Java 相关的路径是:

C:\Program Files (x86)\Common Files\Oracle\Java\javapath

但是 Jenkins 被配置为使用:

C:\Program Files\Java\jdk1.8.0_181 

在 PATH 环境变量中,我将 x86 Java 路径替换为 Jenkins 指向的路径并且它工作正常。

我没有根除路径的方式或原因。从每个路径解析的两个 java.exe 文件似乎是相同的版本。x86 版本可以运行 svn。根本原因高于我的工资等级。

于 2018-08-19T19:53:03.063 回答
0

对于也遇到相同问题的 git 用户 - 尝试将 git 的 PATH 添加到环境变量中。如果这不起作用 - 请按照此处列出的解决方案 -无法从 scm 存储库获取分支信息

于 2019-09-17T14:53:44.063 回答
-1

嗯...正在将 svn 迁移到 git...并且 pom xml 有 svn repo 链接,因此将其更新为 git,并且可以更新 pom xml scm

于 2016-10-13T22:00:12.267 回答