【发布时间】: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 问题中所述)并从关系(公共和私有存储库)获取工件或部署版本工作正常,只有部署快照总是失败。
我现在的问题是:
- 为什么我不能将快照部署到 nexus 而是发布? (主要问题)
- 为什么我设置了
<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