实际项目中,我们往往都是多人开发,这个时候,假如一个项目有300多M.用的jar包有100多个.只要项目组来一个人就从中央仓库下载依赖的jar,这种下载一般都需要持续很久.而且中央仓库一般都是配置在外网的.这种代价和传输是很慢和不划算的.这个时候,我们就需要构建自己的私服,即
开发人员->私服(局域网)->中央仓库(外网)
这个时候,开发人员,会首先访问私服看有没有jar有的话,直接从私服下载,没有的话,会从中央仓库中寻找.大大提高了传输的效率.
私服搭建工具
当然,目前最流行的私服搭建工具就是:sonatype Nexus
我们可以自己去下载http://www.sonatype.org/ 下载需要翻 墙.我这里提供一个,我今天刚下载的哈.百度网盘.
链接:http://pan.baidu.com/s/1mgzUJsW 密码:4wip
下载好后,是个压缩包,直接解压.然后找到bin目录,将此目录配置到环境变量.
配置环境变量后,打开cmd以管理员命令,窗口输入:nexus
看到这个图,说明已经安装成功.
安装私服
nexus install(该命令需要管理员权限)
会自动安装.安装成功后,我们可以输入net start nexus
当提示启动成功后,打开浏览器输入:http://locahost:8081/nexus; 用户名和密码:admin/admin123.
私服的使用
私服的界面
在这个界面我们能看到type为group,hosted,proxy,virtual(不常用).大概四中类型.其中常用的是group,hoste,proxy
hosted:是开发人员开发完项目,提交到这里面(hosted分别有:Releases,Snapshots对应maven开发项目中的version,3rd party表示从pom文件或者某一个jar)
通常开发中,我们用group类型对应的中央工厂来部署:
复制右边的私服链接,打开我们的pom.xml在里面添加:
<!-- nexus私服配置 -->
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<!--snapshots默认是关闭的,需要开启 -->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
这个时候,我们的私服就搭建好了.
私服搭建最佳实践
按照上面配置是实现了私服搭建,但是,这样的配置,如果我们创建一个项目,就需要配置一次,很麻烦.有没有一种方法,只让我们配置一次,后面都不需要配置呢?
我们知道,maven有个setting.xml,其实,我们可以将上面的私服配置在maven的setting.xml里面.这样就可以实现了.