如果maven_metadata.xml已经存在,则maven部署会在下载时挂起

sam*_*nch 18 xml repository maven

我已将我的项目配置为部署到我自己的存储库.当我运行mvn deploy它看起来它正在工作但挂起在下载maven_metadata.xml文件的阶段后,它上传了罐子.

INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ myproject ---
Uploading: scp://myrepodomain/.../myproject-0.06-2.jar
Uploaded: scp://myrepodomain/.../myproject-0.06-2.jar (39013 KB at 6234.1 KB/sec)
Uploading: scp://myrepodomain/.../myproject-0.06-2.pom
Uploaded: scp://myrepodomain/.../myproject-0.06-2.pom (8 KB at 21.6 KB/sec)
Downloading: scp://myrepodomain/.../maven-metadata.xml 
320/319 B
.....here is where it just hangs forever
Run Code Online (Sandbox Code Playgroud)

如果我删除maven-metadata.xml服务器上的文件,它可以正常工作,只需上传一个新生成的文件.

我还要提一下,我只是使用一个带SCP的简单HTTP服务器,我发现较大的工件系统对于我正在做的事情来说是过度杀戮.我无法弄清楚如何调试这个.任何建议,将不胜感激.

小智 8

我已经设法通过在我的pom.xml中交换scp的所有引用到sftp来解决这个问题.此解决方案的优点是它不需要任何其他配置.有关更多信息,请参见http://jira.codehaus.org/browse/MNG-5605.


小智 8

在OS/X 10.9.3和Maven 3.2.3中,我遇到了同样的问题.

它似乎是在部署期间下载文件时损坏的wagon插件.

我通过将货车连接器切换到"Maven Wagon SSH External"来解决它,以便使用系统ssh命令.

在我的POM.xml修改下面:

        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>2.6</version>
        </extension>
Run Code Online (Sandbox Code Playgroud)

切换到:

        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh-external</artifactId>
            <version>2.6</version>
        </extension>
Run Code Online (Sandbox Code Playgroud)

并替换

    scp://myuser@myhost.com
Run Code Online (Sandbox Code Playgroud)

通过

    scpexe://myuser@myhost.com
Run Code Online (Sandbox Code Playgroud)

进入url标签:

    <repository>
        ...
        <url>scpexe://myuser@myhost.com</url>
        ...
    </repository>
Run Code Online (Sandbox Code Playgroud)

  • 升级到更高版本的wagon-ssh(在我的情况下为2.9)解决了这个问题! (4认同)

sam*_*nch 0

这似乎是一些不起眼的错误,我无法在 Maven 3.0.5 中找到参考(debian 测试中的默认值)。安装 Maven 3.1.1 解决了这个问题。

  • 对于我使用 Maven 3.2.1 来说,这才刚刚开始发生。 (9认同)