2012-02-04 128 views
0

我想构建一个依赖于SVNKit的Maven模块。Maven无法从远程存储库下载

所以,我的pom.xml看起来是这样的:

<dependencies> 
    <dependency> 
     <groupId>org.tmatesoft.svnkit</groupId> 
     <artifactId>svnkit</artifactId> 
     <version>1.3.7</version> 
    </dependency> 
</dependencies> 

<repositories> 
    <repository> 
     <id>tmatesoft-releases</id> 
     <url>http://maven.tmatesoft.com/content/repositories/releases/</url> 
    </repository> 
</repositories> 

当我尝试做一个干净MVN安装,它看起来像它attemps寻找到一台Nexus仓库,显然无法找到它。我显然试图从远程存储库下载工件:http://maven.tmatesoft.com/content/repositories/releases

我看了看我的〜/ .m2 /文件夹中的settings.xml文件,我发现有一个镜像看起来像这样:

<mirror> 
<!--This sends everything else to /public --> 
<id>nexus</id> 
<mirrorOf>*</mirrorOf> 

<url>http://Our_Nexus_Repository</url> 
</mirror> 

我认为,如果你定义一个<reposotiry>标签,你的模块的pom.xml将优先于什么在你的settings.xml文件中定义。

任何帮助表示赞赏。谢谢。

回答

3

这是因为镜子会反映所有的仓库,:<mirrorOf>*</mirrorOf>

你可以改变取代它像这样:<mirrorOf>*,!tmatesoft-releases</mirrorOf>

更多信息,请访问:http://maven.apache.org/guides/mini/guide-mirror-settings.html

+0

感谢您的反馈! – Alex 2012-02-04 05:46:31

+0

@Alex如果答案有帮助,那么我会建议通过接受答案来奖励答复 – 2012-02-04 10:19:12

0

随着方式,你”在你的settings.xml中使用镜像语句,你指导maven总是去你的仓库。如果这确实是您希望的行为,那么您应该为nexus安装中的tmatesoft-releases存储库创建一个代理。

执行此操作的常用方法是为您想要在nexus安装中使用的所有发行版设置存储库组。然后,只需根据需要向该组添加代理回复,并且用户不需要更改其settings.xml即可即时查看您添加的新回购。

+0

感谢您的提示,迈克尔!奇怪的是,我将它作为代理添加到我们的Nexus repo中,就像您所说的一样,但是当我尝试推送到我们的公共存储库时,它似乎没有接受它......奇怪。 – Alex 2012-02-06 09:14:26

+0

这是否解决了您遇到的问题? – Michael 2012-02-06 12:58:26

相关问题