我正在尝试构建一个依赖于SVNKit的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 clean安装时,看起来它似乎试图查看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文件中定义的内容。
感谢任何帮助。谢谢。
答案 0 :(得分:3)
这是因为镜像将镜像所有存储库:<mirrorOf>*</mirrorOf>
您可以更改替换它:<mirrorOf>*,!tmatesoft-releases</mirrorOf>
更多信息,请访问:http://maven.apache.org/guides/mini/guide-mirror-settings.html
答案 1 :(得分:0)
通过在settings.xml中使用镜像语句的方式,您可以指导maven始终转到您的存储库。如果确实是您希望的行为,则应在nexus安装中为tmatesoft-releases存储库创建代理。
执行此操作的常用方法是为您希望在nexus安装上拥有的所有版本设置存储库组。然后根据需要将代理存储库添加到组中,用户无需更改其settings.xml即可立即查看您添加的新存储库。