【问题标题】:maven deploy-file failed with 503: cannot find maven-metadata.xmlmaven 部署文件失败,出现 503:找不到 maven-metadata.xml
【发布时间】:2012-06-14 21:28:12
【问题描述】:

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

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

现在假设 Ant 编译输出是 res-1.0-SNAPSHOT.tar.gz。 (任何文件名都可以,但它是 tar.gz)我正在将该文件部署到一个名为“snapshots”的由 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。如果您想了解更多信息,请告诉我。

【问题讨论】:

    标签: maven deployment nexus maven-metadata


    【解决方案1】:

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

    查看this 示例。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,我们的关系中有一个错误。

      使用 ma​​ven3(具有相同的 settings.xmlpom.xml.m2 存储库)解决了我们的问题问题,而且比升级 nexus 更容易。

      您也可以查看this bug

      【讨论】:

        猜你喜欢
        • 2011-06-05
        • 2012-10-29
        • 1970-01-01
        • 2012-12-24
        • 2011-06-20
        • 1970-01-01
        • 2013-07-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多