maven部署文件失败,错误为503:找不到maven-metadata.xml

maven部署文件失败,错误为503:找不到maven-metadata.xml,maven,deployment,nexus,maven-metadata,Maven,Deployment,Nexus,Maven Metadata,我正在使用Maven将我们的项目与其他项目集成,可能是以一种不受欢迎的方式,并且遇到了一些问题 我们有一个用Ant编译的项目。Ant脚本又大又棒,所以当我们使用Maven进行集成时,我们决定继续使用Ant进行编译 现在让我们假设Ant编译输出是res-1.0-SNAPSHOT.tar.gz。(任何文件名都可以,但它是tar.gz)我正在将该文件部署到一个名为“快照”的nexus托管快照存储库中 我尝试使用以下命令部署: mvn deploy:deploy-file \ -DgroupId="

我正在使用Maven将我们的项目与其他项目集成,可能是以一种不受欢迎的方式,并且遇到了一些问题

我们有一个用Ant编译的项目。Ant脚本又大又棒,所以当我们使用Maven进行集成时,我们决定继续使用Ant进行编译

现在让我们假设Ant编译输出是res-1.0-SNAPSHOT.tar.gz。(任何文件名都可以,但它是tar.gz)我正在将该文件部署到一个名为“快照”的nexus托管快照存储库中

我尝试使用以下命令部署:

mvn deploy:deploy-file \
  -DgroupId="com.my-company" \
  -DartifactId="res" \
  -Dversion="1.0-SNAPSHOT" \
  -Dpackaging="tar.gz" \
  -Dfile="res-1.0-SNAPSHOT.tar.gz" \
  -Durl="http://our-nexus-ip/nexus/content/repositories/snapshots" \
  -DrepositoryId="snapshots"
我在~/.m2中有一个带有代理和服务器设置的简单settings.xml。但是,当前进程中尚未使用服务器设置,错误的密码不会出错

输出如下:

[[root@cnbi maven]# ./run.sh
+ mvn deploy:deploy-file -DgroupId=com.my-company -DartifactId=res -Dversion=1.0-SNAPSHOT -Dpackaging=tar.gz -Dfile=res-1.0-SNAPSHOT.tar.gz -Durl=http://135.252.234.142:8081/nexus/content/repositories/snapshots -DrepositoryId=snapshots
Warning: JAVA_HOME environment variable is not set.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'deploy'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [deploy:deploy-file] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [deploy:deploy-file]
[INFO] Retrieving previous build number from snapshots
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error retrieving previous build number for artifact 'com.my-company:res:tar.gz': repository metadata for: 'snapshot com.my-company:res:1.0-SNAPSHOT' could not be retrieved from repository: snapshots due to an error: Error transferring file

Server returned HTTP response code: 503 for URL: http://135.252.234.142:8081/nexus/content/repositories/snapshots/com/my-company/res/1.0-SNAPSHOT/maven-metadata.xml
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 51 seconds
[INFO] Finished at: Tue Jun 12 08:44:13 CST 2012
[INFO] Final Memory: 7M/209M
[INFO] ------------------------------------------------------------------------
你看,它找不到maven-metadata.xml。可以肯定的是,存储库中根本不存在该文件及其文件夹“com/my company”

除了您可能发现的任何Maven滥用之外,我的问题是:

1) 我使用Maven的方式正确吗?(正在部署tar.gz,使用deploy:deploy file…)

2) 是否有不正确的参数

3) maven-metadata.xml的用途是什么?它不在那里,但Maven坚持要找到它——我猜它是生成的,我是否遗漏了一些步骤

这个解决方案可能很愚蠢,我真的不熟悉Maven。不幸的是,必须这样做。。。请帮我摆脱这一切


Maven版本是2.0.11。如果你想知道更多,请告诉我。

我也有同样的问题,我们的nexus中有一个bug

使用maven3(使用相同的settings.xml、pom.xml和.m2 repo)解决了我们的问题,并且比升级nexus更容易


你也可以检查。

如果你仍然坚持使用Ant,我建议你至少考虑把IVY添加到图片中,作为你的依赖管理器。如果我没记错的话,它能够更新存储库中的
maven metadata.xml
文件

请看一个例子