私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服以后,当 Maven 须要下载构件时,直接请求私服,私服上存在则下载到本地仓库;不然,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。html
一、jar包下载速度比中央仓库快数据库
二、有些jar包因为版权缘由,maven中央仓库没有,好比oracle JDBC驱动。另外也会有一些项目中用到的比较老的开源jar包,中央仓库也没用windows
三、公司本身开发的jar包并不开源,不能上传到maven中央仓库,只能部署到私服上面浏览器
四、便于进行统一jar包管理服务器
五、可在此基础上搭建自动化部署服务器:oracle
1)Maven构建和释放项目;app
2)SubVersion源代码库,管理源代码;maven
3)远程存储库管理器(Jfrog/ Nexus)来管理项目的二进制文件。测试
一、Apache的Archivaurl
二、JFrog的Artifactory
三、Sonatype的Nexus(本文将使用)
下载地址:https://www.sonatype.com/download-oss-sonatype
我安装的是nexus-2.14.0-01-bundle.zip
将下载的文件解压到一个英文目录下,而后进入bin目录,个人为F:\nexus-2.14.0-01-bundle\nexus-2.14.0-01\bin\jsw\windows-x86-32,看到以下图:
1)修改启动端口:默认8081,若未被占用则可不更改
2)再转到jswàconf目录,找到wrapper.conf,修改本机安装的jdk路径
3)以管理员身份运行install-nexus.bat
4)以管理员身份运行start-nexus.bat,至此,nexus已经安装启动完成
1)浏览器打开http://localhost:8081/nexus/
2)右上角login in ,输入用户名:admin,密码:admin123(默认管理员初始用户名密码)
3)左侧点击Repository显示以下图所示
4)nexus仓库分类
注:此步骤的前提是你的电脑不能链接外网,若是能够上外网,这里也没有意思,只是介绍一下, 在左侧菜单找到如图:
点击查看右边有不少选项,找到这里
添加你的代理服务器就能够了。
咱们目前只是用3rd party这个第三方的功能,将maven仓库中没有构件的jar包上传到服务器。如何将第三方的jar上传到nexus上面呢?以下:举例上传oracle的驱动包。
【注意:3rd party、Snapshots、Releases这三个,分别用来保存第三方jar(典型的oracle数据库的jar驱动包),项目组内部的快照、项目组内部的发布版。】
那么如今nexus已经安装好,也清楚了怎么上传本身的jar包,下面来看下如何获取Maven构件:
1)创建了一个maven的项目。
2)先去服务器看看jar的maven构件
3)而后在pom.xml中添加以下的本地仓库地址:
1)选择Central仓库点击下边的Configuration把Download Remote Indexes属性设为True保存
2)在Central仓库上右键而后点击Repair Index 便可下载中心仓库的索引文件,稍等几分钟点击下边的Browse Index便可看见下载的索引文件。
3)往Public Repositories中添加Central仓库,点击Public
Repositories在Configuration选项卡中把Central移到左侧
1)配置在本地maven的setting.xml中,则对于本地全部的maven项目生效
<mirrors>
<mirror>
<id>nexus-releases</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
<mirrors>
2)配置在项目的pom.xml中,只针对当前项目有效
<repositories>
<repository>
<id>nexus</id>
<name>nexus Repository</name> <url>http://localhost:8081/nexus/content/groups/public/</url>
</repository>
</repositories>
3)测试结果