【问题标题】:What should be in </distributionManagement> url</distributionManagement> url 中应该包含什么
【发布时间】:2021-09-14 07:16:15
【问题描述】:

我正在尝试使用管道运行 Jenkins 作业的 java (mvn) 项目。

克隆和验证成功,但部署不成功。

这是我得到的错误:

[main] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project create_pass_criteria: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1]

我正在尝试通过将此代码添加到我的 pom.xml 来修复它

<distributionManagement>
        <repository>
            <uniqueVersion>false</uniqueVersion>
            <id>corp1</id>
            <name>Corporate Repository</name>
            <url>file:///home/myfolder/.m2</url>
            <layout>default</layout>
        </repository>
    </distributionManagement>

但是我怎样才能找到我应该使用的网址呢?

非常感谢。

【问题讨论】:

  • URL 是您要部署到的存储库的 URL。
  • URL 应该是您希望在其中部署的公司存储库之一,或者您有权在其中发布的另一个外部存储库。

标签: java maven jenkins


【解决方案1】:

通常您在 distributionManagement 中有两个不同的条目。一个用于发布,一个用于快照。这是您的内部存储库管理器的网址:

  <distributionManagement>
    <repository>
      <name>release repo</name>
      <id>releases</id>
      <url>https://repomanager.com/base/maven-releases</url>
    </repository>
    <snapshotRepository>
      <name>snapshots repo</name>
      <id>snapshots</id>
      <url>https://repomanager.com/base/maven-snapshots</url>
    </snapshotRepository>
  </distributionManagement>

&lt;id&gt;..&lt;/id&gt; 引用 settings.xml 文件中的条目进行身份验证。凭据应该在 Jenkins 的凭据存储中配置...(在这种情况下,Jenkins 中的配置文件提供程序插件非常有用)

【讨论】:

  • 这个链接应该是我的通勤者? repomanager.com/base/maven-snapshots
  • 是的。你必须适应你的环境......
  • 所以可以这样:C:\\work\myfolder
  • scp:\\C:\\work\myfolder
  • 我强烈建议不要使用 scp 等。改用 http(s) 并使用存储库管理器...
猜你喜欢
  • 2011-08-18
  • 2012-05-26
  • 2018-12-29
  • 2015-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
相关资源
最近更新 更多