我们正在为所有依赖项使用本地nexus镜像 我需要在其中一个项目中使用以下依赖项:
<depedency>
<groupId>com.smartgwt</groupId>
<artifactId>smartgwt</artifactId>
<version>3.0</version>
</depedency>
来自存储库的:http://www.smartclient.com/maven2
但maven给我的错误说“找不到com.smartgwt:smartgwt:jar:3.0”。
可能是什么问题,我该如何解决?
(也许这是一个非常微不足道的问题,但我对Maven来说相当新鲜)
答案 0 :(得分:1)
我假设Nexus正在为Maven Central上托管的所有标准依赖项工作。
在进行构建时,您可以通过使用-X
参数打开调试来解决Maven下载的问题。会有很多噪音,但是如果你因为找不到依赖关系而在你的构建失败的地方看了几行,它就会告诉你:
如何在Nexus代理中设置http://www.smartclient.com/maven2
?作为单独的代理存储库? Nexus可以访问此回购(它是“在服务中”还是未阻止?)
Nexus中的此存储库是否已添加到“公共”组?如果你不想要这个:
您必须在您的settings.xml中为此存储库配置一个单独的镜像,该镜像指向Nexus中的URL。
同时检查您是否在POM中添加了存储库,例如
<project>
...
<repositories>
<repository>
<id>smartclient</id>
<name>SmartClient Maven Repository</name>
<url>http://www.smartclient.com/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
...
</project>
然后在您的settings.xml中为此存储库配置代理条目:
<settings>
...
<mirrors>
<mirror>
<id>smartclient-nexus-proxy</id>
<mirrorOf>smartclient</mirrorOf>
<url><url of your smartclient proxy repository in Nexus></url>
</mirror>
...