问题
最近由于管理第二方包的需要,在内网搭建了nexus3 maven私服, 基本上还顺利。但有如下问题 :
在项目文件中配置repository不会生效,相关配置如下:
<repositories> <repository> <id>internal-public</id> <name>internal-public</name> <url>http://192.168.1.6:8081/repository/internal-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
但是将配置 替换为aliyun,就可以生效。
<repositories> <repository> <id>aliyun</id> <url>https://maven.aliyun.com/repository/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
这两种配置表面上看没有什么区别,但是为什配置aliyun可以,配置internal就不行呢?
需要说明的是:以上两种配置,settings.xml都没有做任何修改,也没有配置任何mirror.
Nexus3 中repository的配置
internal-public 类型为group, 其中的Members按顺序依次为:aliyun, maven-center, maven-releases, 2nd-releases
其中
aliyun为aliyun的center仓库
2nd-releases为各team提交(install)jar包的repository.
现在的需求是:
1. 不能修改settings.xml
2. 当在pom.xml中配置repository internal-public时能够 优先 从http://192.168.1.6:8081/repository/internal-public/下载jar包.
或者说如何才能做到像aliyun maven repository一样,不修改mirrors,只用在pom.xml中加入repository就可以使用。
果然,这个问题在OSCHINA上没有人回答.