当前位置: 首页 > 知识库问答 >
问题:

Maven发布插件-svn: E200007:源和目标URL似乎不指向同一个存储库

司马奇希
2023-03-14

我在mvn发布期间遇到了这个错误:准备目标:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.2:prepare (default-cli) on project env-status-checks: Unable to tag SCM
[ERROR] Provider message:
[ERROR] The svn tag command failed.
[ERROR] Command output:
[ERROR] svn: E200007: Source and destination URLs appear not to point to the same repository.

那是失败的SVN命令

[INFO] Tagging release with the label env-status-checks-0.0.1...
[INFO] Executing: cmd.exe /X /C "svn --username akanchev --password ***** --no-auth-cache --non-interactive copy --file C:\Windows\TEMP\maven-scm-1102804858.commit --revision 9260 svn://svn.XXXX.local/qa/XX-tf/trunk/env-status-checks http://svn.XXXX.local/qa/XX-tf/tags/env-status-checks-0.0.1"
[INFO] Working directory: C:\Users\Administrator\.jenkins\jobs\Test release\workspace

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

maven发布插件的pom.xml配置是:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.4.2</version>
       <configuration>
          <tagBase>http://svn.XXXX.local/qa/XX-tf/tags</tagBase>
       </configuration>
</plugin>

这就是SVN scm:

<scm>
    <connection>scm:svn:svn://svn.XXX.local/qa/wh-tf/trunk/env-status-checks</connection>
    <developerConnection>scm:svn:svn://svn.XXX.local/qa/XX-tf/trunk/env-status-checks</developerConnection>
    <url>scm:svn:svn://svn.XXX.local/qa/XX-tf/</url>        
</scm>

最终解决方案(谢谢Ben):

实际上,我被maven的发布插件指南愚弄了。在这里的例子中

<tagBase>https://svn.mycompany.com/repos/myapplication/releases</tagBase>

对我来说合适的是:

标签基座

<tagBase>svn://svn.XXXX.local/qa/XX-tf/tags/</tagBase>

单片机连接

<scm>
  <connection>scm:svn:svn://svn.XXXX.local/qa/XX-tf/trunk/env-status-checks</connection>
 </scm>

共有1个答案

卞轶
2023-03-14

您的svn copy命令混合了两种不同的协议。源是svn:/,目标是http:/。在进行服务器端复制时,需要使用相同的协议,因为必须通过相同的连接访问目标和源。

通过svn://或通过http://切换到同时使用两者应该可以解决您的问题。

 类似资料:
  • 我在我的Github帐户上有一个存储库,我从官方存储库中派生了这个存储库。 然后我在我的本地机器上克隆了它。它工作得很好。我创建了几个分支(在分支下)。我做了几次提交,它工作得很好。 当我这样做时,我不知道我是如何得到以下错误的: 如何在不影响Github上的存储库的情况下解决此错误? 我正在使用 我的<代码>的内容。git/config在执行cat$(git rev parse-show top

  • 我以一个新的gradle用户的身份创建gradle版本,但我过去曾与maven合作过。 我试图重现maven发布插件的动作: 将分支版本更改为发行号(在svn提交) 如您所见,我正在使用: Nexus OSS作为版本控制库 SVN作为scm Gradle(2.8) 我正试图通过这两个插件实现我的目标: > 将分支版本更改为发行号(在svn提交) 创建标签(位于svn) 将分支版本更改为新快照编号(

  • 所有POM都有作为它们的版本,也在dependencies标签下。它通过上传到Nexus repo。 我们最近开始做。因此,所有20个父POM现在都是和版本,因为它们都位于nexus中。所有标记现在都指向 开发人员不想指向发布版本。他们需要来自同行的edge开发版本,不管它是否不稳定。 SCM只希望指向版本,因为他必须每周执行一次,但由于指向快照版本而失败。 现在我知道了版本插件,但问题是,我应该

  • 我不确定我的配置有什么问题,但据我所知,它应该是正确的,尽管spring宣布没有这样的bean定义。我证实了以下几点: null POM: 编辑:从pom中删除spring-data-jpa-starter并重新插入它之后,似乎它现在自动设置密码编码器也有问题。spring在自动驾驶方面的做法是否存在一个普遍的问题?

  • 我想执行一个maven版本,在运行于jdk 1.7的Jenkins安装上编译java 1.8代码 我有一个使用JDK参数插件用Java1.8编译的项目。它在进行常规构建时有效。 当我使用maven发布插件进行maven发布时,它会将JVM与java 1.7相结合,而不是插件上指定的版本。我猜它需要环境中的java版本。 如果我将JAVA_HOME for the job设置为1.8,它就会工作。

  • 此问题似乎与在帮助中心定义的范围内编程无关。 我正在做一个名为“wonaco”的项目。在这个文件夹中,我从本地拉出了主分支,创建了一个新的开发分支,并签出到该开发分支。 现在,我运行以下命令: 但我收到通知: 致命:“源”似乎不是git存储库致命:无法从远程存储库读取。 请确保您拥有正确的访问权限并且存储库存在。 我需要将代码推送到dev分支。