背景:mysql
私服:私有服务器,是公司内部Maven项目常常用到的私有仓库。Nexus就是一款经常使用的私用Maven服务器,通常是公司内部使用。spring
下载地址是:http://www.sonatype.org/nexus/go 默认本地地址: http://localhost:8081/nexus/sql
默认登陆帐号:admin/admin123 登陆后为安全起见,可自行修改账号。目前选择版本:nexus-2.8.0-05。安全
做用:服务器
Nexus经常使用功能:指定私服的中央地址、将本身的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其余项目组使用。oracle
本地开启Nexus服务后访问url地址http://localhost:8081/nexus/,登陆后就能够访问Nexus了。maven
通常用户访问最为频繁的就是左侧菜单栏的Repositories菜单了。url
通常用到的仓库种类是hosted、proxy。spa
hosted表明宿主仓库,用来发布一些第三方不容许的组件,好比oracle驱动、好比商业软件jar包等。插件
proxy表明代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。
若是构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么若是代理站点也没有此依赖包,就会去远程仓库下载依赖,这些远程仓库就是proxy。
仓库类型:
hosted 内部项目的发布仓库
releases 内部的模块中release模块的发布仓库
snapshots 内部的模块中snapshots模块的发布仓库
3rd party 第三方依赖的仓库,这个数据一般是由内部人员自行下载以后发布上去
proxy 从远程中央仓库中寻找数据的仓库
group 组仓库,用来方便咱们开发人员进行设置的仓库
maven项目索引:
下载Maven项目索引,项目索引是为了使用者可以在私服站点查找依赖使用的功能
保存后,后台会有一个下载任务,下载完成后,Maven索引就可使用了,例如在搜索框中输入spring-core
能够检索出它的相关信息,包括怎么配置依赖信息。咱们要想使用这个私服仓库,先在项目pom中配置相关私服信息,以下指定私服仓库
<repositories>
<repository>
<id>nexus</id>
<name>nexus</name>
<url>http://192.168.1.211:8081/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://192.168.1.211:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
pom文件配置完成后,当Maven项目构建的时候就会从私服上下载相关依赖。固然这个配置仅仅是在此项目中生效,对于其余项目仍是不起做用。若是相对Maven的其余项目也生效的话。须要修改全局的settings.xml文件。
修改settings.xml为:
激活profile:
以后全部本机的Maven项目就在私服下载组件。
项目发布到私服,要settings.xml中配置发布权限
而后在控制台运行 mvn clean deploy 命令,进行项目发布
在控制台发布成功
而后进入到私服上的仓库中,看一下确实存在刚刚发布的项目。
宿主库——3rd party
假如咱们下载了mysql的驱动程序jar包想给其余项目组使用,就须要上传该jar包。选中宿主库——3rd party,填写好相应的GAV以后,最后在最下面,选择Artifact Upload上传至宿主空间
显示上传成功
随后在Browser Index选项卡中,点击刷新后,继可看到刚刚上传的mysql构件
至此,Nexus搭建的整个过程就算完成了。