我正在尝试构建一个maven项目来测试一些测试软件 - Arquillian。
我设置nexus并将jboss存储库添加到公共组的底部。
当我运行mvn test
时,我收到此错误:
Missing:
----------
1) com.sun.istack:istack-commons-runtime:jar:1.1-SNAPSHOT
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=com.sun.istack -DartifactId=istack-commons-runtime -Dversion=1.1-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=com.sun.istack -DartifactId=istack-commons-runtime -Dversion=1.1-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Path to dependency:
1) org.jboss.arquillian.sandbox.showcase:arquillian-sandbox-showcase-jsf:jar:1.0.0-SNAPSHOT
2) org.jboss.jbossas:jboss-as-client:pom:6.0.0.20100721-M4
3) org.jboss.jbossas:jboss-as-iiop:jar:client:6.0.0.20100721-M4
4) org.jboss.jbossts:jbossjts:jar:4.11.0.Final
5) org.jboss.ws.native:jbossws-native-core:jar:3.3.0.CR1.SP2
6) com.sun.xml.ws:jaxws-rt:jar:2.2
7) com.sun.xml.ws:policy:jar:2.0-b01
8) com.sun.istack:istack-commons-runtime:jar:1.1-SNAPSHOT
我检查了java.net maven 2存储库,它肯定是there。
然而,当我导航到我当地的nexus公共团体时,它并不存在。
我该如何解决这个问题?造成这个问题的原因是什么?我对此很感兴趣,因为我更习惯使用ant + ivy。
mvn的完整输出是here。
答案 0 :(得分:3)
我显然是完全相同的问题。我解决了 在我的情况下,问题是托管istack-common-runtime-1.1.0-SNAPSHOT的存储库在配置的nexus代理存储库中被标记为“release”。所以nexus忽略了该存储库中的所有快照。 我刚刚配置了另一个代理存储库,指向包含istack-common-runtime-1.1.0-SNAPSHOT的同一个代理存储库,但在配置它时将其标记为“SNAPSHOT”。然后我将这个新代理添加到我的“SNAPSHOT”组。
在我的settings.xml中,我在公共nexus组上有一个存储库,在快照组上有另一个存储库:
<profiles>
<profile>
<id>nexus</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>release</id>
<url>http://nexus-server/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<url>http://nexus-server/nexus/content/groups/public-snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
希望这个帮助
答案 1 :(得分:1)
如果您使用nexus网络界面进行搜索,是否会显示?我在nexus安装中看到过这样的情况,其中的工件看起来像是这样丢失,但会出现在搜索结果中。如果我然后通过我的浏览器从搜索结果中下载它,它会神奇地开始在maven命令行工作。
不是你想要听到的强大解决方案,我敢肯定,但至少值得一试。
答案 2 :(得分:1)
如果您已将JBoss存储库添加到Nexus,您是否记得配置公共存储库组以包含它?
以下是截图:
答案 3 :(得分:0)
你是否在公司防火墙后面?可能需要在Nexus中配置HTTP代理(请参阅服务器管理屏幕)
答案 4 :(得分:0)
结束了一个糟糕的依赖。我不得不手动添加它以使其全部工作。可怕!