看看maven中心的这个pom(以及其他各种poms): http://repo1.maven.org/maven2/org/apache/activemq/activemq-optional/5.6.0/activemq-optional-5.6.0.pom
在这些poms中依赖于net.sf.josql
<dependency>
<groupId>net.sf.josql</groupId>
<artifactId>josql</artifactId>
</dependency>
<dependency>
<groupId>net.sf.josql</groupId>
<artifactId>gentlyweb-utils</artifactId>
</dependency>
当您尝试http://mvnrepository.com/artifact/net.sf.josql/josql时,它会返回404。
那么......为什么maven central会有一个包含在maven中心找不到依赖的pom?
事实上,我无法在jboss或maven中央存储库中找到net.sf.josql。
它是什么,我在哪里可以找到它?
答案 0 :(得分:6)
来自Guide to uploading artifacts to the Central Repository:
我的POM中列出了其他存储库或pluginRepositories,这是一个问题吗?
目前,这不会阻止您的项目被包含在内,但我们强烈建议您确保所有依赖项都包含在Central中。如果你依赖于那些有垃圾或者消失的粗略存储库,它只会为下游用户创造havok。尝试将您的依赖关系保存在像Central,Jboss等可靠的存储库中。
很明显,Apache希望人们会这样做,但他们并没有彻底执行它。
Google搜索您的工件,它似乎在此处托管:http://repo.fusesource.com/maven2/。您需要在POM或设置文件中将其添加为附加存储库(有关符文,请参阅http://maven.apache.org/guides/mini/guide-multiple-repositories.html)。
答案 1 :(得分:3)
<repository>
<id>repo.fusesource.com</id>
<name>repo.fusesource.com</name>
<url>http://repo.fusesource.com/maven2-legacy/</url>
<layout>default</layout>
</repository>
请在你的pom.xml上添加这个
答案 2 :(得分:0)
我与Apollo 1.7.1有同样的意义。 我在apache-apollo-1.7.1-windows-distro.zip(apache-apollo-1.7.1 \ lib文件夹)中找到了所有依赖项。
所以我只是在apache-apollo-1.7.1 \ lib
中运行mvn install:install-file -Dfile=proton-0.3.0-fuse-2.jar -DgroupId=org.apache.qpid -DartifactId=proton-hawtdispatch -Dversion=0.3.0-fuse-2 -Dpackaging=jar
mvn install:install-file -Dfile=josql-1.5.jar -DgroupId=net.sf.josql -DartifactId=josql -Dversion=1.5 -Dpackaging=jar
mvn install:install-file -Dfile=gentlyweb-utils-1.5.jar -DgroupId=net.sf.josql -DartifactId=gentlyweb-utils -Dversion=1.5 -Dpackaging=jar