因为网速原因,最近在公司部署了maven的私服,用起来速度杠杠的。 记录一下几个小点。
#使用私服 ###配置profile
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>nexus</name>
<url>http://yourhost/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>nexus</name>
<url>http://yourhost/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
使用profile的话,当jar包在私服上找不到,它自己会跑到中央仓库去拿,不能充分发挥私服的作用。 ###使用mirror
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://yourhost/nexus/content/groups/public</url>
</mirror>
</mirrors>
使用mirror配置的话,则所有jar包都会去私服拿,如果私服没有的话,私服自己会去下载。这样,只要有一个同事请求过这个包,那么其它同事再下载就会很快
#优先使用用户setting.xml 当指定profile时,maven查找仓库时,会先去项目的pom查找,再去找用户目录下的.m2/setting.xml,最后去找maven安装目录下的conf/setting。 为什么不修改安装目录下的setting?主要是考虑到以后升级maven版本时,不用重新配置。
#国内阿里私服,速度超快的maven 安装好的maven默认是访问国外的站点,对国内用户来说速度是个大问题,下一个工程的组件可能都是10分钟超的。还好国内有马云爸爸的镜像。以前开源中国也有的,估计后来是带宽太贵就不干了。
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>