【问题标题】:Deploying snapshots always fails but deploying releases works fine部署快照总是失败,但部署版本工作正常
【发布时间】:2016-06-02 10:43:33
【问题描述】:

当我使用 snapshot-version(例如 1.0.0-SNAPSHOT)运行 mvn clean deloy 以将项目部署到我们的企业关系时,我总是遇到以下构建失败。当我使用发布版本(例如1.0.0)运行相同的命令时,发布存储库的部署运行顺利,文件保存在关系中:

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ META-POM ---
Downloading: http://urlofmynexus:port/nexus/content/repositories/nameofmygroup-snapshot/my/package/META-POM/1.0.0-SNAPSHOT/maven-metadata.xml
Uploading: http://urlofmynexus:port/nexus/content/repositories/nameofmygroup-snapshot/my/package/META-POM/1.0.0-SNAPSHOT/META-POM-1.0.0-20160602.102009-1.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.640 s
[INFO] Finished at: 2016-06-02T12:20:09+02:00
[INFO] Final Memory: 12M/309M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project META-POM: Failed to deploy artifacts: Could not find artifact my.package:META-POM:pom:1.0.0-20160602.102009-1 in nexus (http://urlofmynexus:port/nexus/content/repositories/nameofmygroup-snapshot) -> [Help 1]  

这是完整的日志,我没有收到任何 HTTP 错误,如果我的凭据错误的话。我检查了我的代理设置(如 [Help 1] 和一些 SO 问题中所述)并从关系(公共和私有存储库)获取工件或部署版本工作正常,只有部署快照总是失败。

我现在的问题是:

  1. 为什么我不能将快照部署到 nexus 而是发布? (主要问题)
  2. 为什么我设置了<uniqueVersion>false</uniqueVersion>后,快照版本的文件名中会添加时间戳? (次要)

我的 settings.xml:

<servers>
  <server>
    <id>nexus</id>
    <username>nexususer</username>
    <password>nexuspw</password>
  </server>  
</servers>

<profiles>
 <profile>
    <id>nexus</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <repositories>
       <repository>
         <id>nexus</id>
         <url>http://urlofmynexus:port/nexus/content/groups/nameofmygroup-group</url>
         <releases><enabled>true</enabled></releases>
         <snapshots><enabled>true</enabled></snapshots>
       </repository>
    </repositories>
  </profile>
</profiles>

我在 project.pom 中的distributionManagement

<distributionManagement>
  <snapshotRepository>
    <id>nexus</id>
    <name>Snapshots</name>
    <url>http://urlofmynexus:port/nexus/content/repositories/nameofmygroup-snapshot</url>
    <uniqueVersion>false</uniqueVersion>
  </snapshotRepository>
  <repository>
    <id>nexus</id>
    <name>Releases</name>
    <url>http://urlofmynexus:port/nexus/content/repositories/nameofmygroup-releases</url>
  </repository>
</distributionManagement>  

编辑附加信息:

  • 我已经多次删除本地存储库
  • 这个问题属于我所有的 maven 项目,而不是特定的。这似乎合乎逻辑,因为它们都使用相同的关系和设置。

【问题讨论】:

  • 嗯,你也在部署META-POM 吗?你能发布你的项目结构吗?这是一个多模块的 Maven 项目吗?
  • 当 Maven 出现问题时,我要做的第一件事是删除 .M2 存储库,然后如果它不起作用,我将开始考虑问题本身......它总是值得试试……
  • @Tunaki 这是来自名为META-POM 的单个maven 项目的日志,其中仅包含一个名为META-POM.pom 的文件。但在其他单模块和多模块项目中,错误也是相同的。 @ivoruJavaBoy 已经多次删除了我的本地仓库。这没有影响

标签: maven deployment


【解决方案1】:

一切看起来都不错。但我很久以前有同样的错误。我只是拼错了存储库名称。

所以再次检查网址

http://urlofmynexus:port/nexus/content/repositories/nameofmygroup-snapshot

http://urlofmynexus:port/nexus/content/repositories/nameofmygroup-snapshots

末尾有 (s)

【讨论】:

  • 这就是我喜欢代码审查的原因撞墙
猜你喜欢
  • 1970-01-01
  • 2016-01-04
  • 2020-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 2023-03-28
相关资源
最近更新 更多