我已将项目配置为部署到我自己的存储库。当我运行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
如果我删除服务器上的maven-metadata.xml
文件,它可以正常工作,只需上传新生成的文件。
我还应该提到我只是在SCP上使用一个简单的HTTP服务器,我发现较大的工件系统对于我正在做的事情来说太过分了。我无法弄清楚如何调试这个。任何建议将不胜感激。
答案 0 :(得分:8)
我已经设法通过将scp的所有引用交换到我的pom.xml中的sftp来解决这个问题。此解决方案的优点是它不需要任何其他配置。有关详细信息,请参阅http://jira.codehaus.org/browse/MNG-5605。
答案 1 :(得分: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>
切换到:
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
<version>2.6</version>
</extension>
并替换
scp://myuser@myhost.com
通过
scpexe://myuser@myhost.com
进入url标签:
<repository>
...
<url>scpexe://myuser@myhost.com</url>
...
</repository>
答案 2 :(得分:0)
这似乎是一些模糊的错误,我无法在Maven 3.0.5中找到引用(在debian测试中默认)。安装Maven 3.1.1解决了这个问题。
答案 3 :(得分:0)
我有这样的问题。当我尝试wget
这些...maven_metadata.xml
个网址时,我收到了404回复。
我的解决方案是缩短这些服务器的超时时间(从2分钟默认为2秒)。
首先,您必须找到此URL的存储库ID。也就是说,如果您不能从artifactoryonline.org下载,请在POM中搜索此存储库:
$ find . -name 'pom*.xml' | xargs grep factoryonline
转到找到的POM并获取存储库ID。
然后将~/.m2/settings.xml
修改为以下内容:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>Metamarkets-repository</id>
<configuration>
<httpConfiguration>
<all>
<connectionTimeout>2000</connectionTimeout>
<readTimeout>2000</readTimeout>
</all>
</httpConfiguration>
</configuration>
</server>
</servers>
</settings>
这将使下载在2秒后放弃并让构建继续(假设maven_metadata.xml
将从其他地方下载)。