Maven之Nexus局域网私服的搭建

公司在自己的局域网内搭建自己的远程仓库服务器,称为私服,私服服务器即是公司内部的maven远程仓库,每个员工的电脑上安装maven软件并且连接私服服务器,员工将自己开发的项目打成jar并发布到私服服务器,其它项目组从私服服务器下载所依赖的构件(jar)。

私服还充当一个代理服务器,当私服上没有jar包会从互联网中央仓库自动下载,如下图:

 

Maven之Nexus局域网私服的搭建

搭建私服环境

下载nexus

Nexus 是Maven仓库管理器,通过nexus可以搭建maven仓库,同时nexus还提供强大的仓库管理功能,构件搜索功能等。

下载Nexus, 下载地址:http://www.sonatype.org/nexus/archived/

下载:nexus-2.12.0-01-bundle.zip

安装nexus

解压nexus-2.12.0-01-bundle.zip如下:

Maven之Nexus局域网私服的搭建

解压好后,我们进入bin目录进行安装,执行nexus.bat install

Maven之Nexus局域网私服的搭建

 

 

安装成功在服务中查看有nexus服务:

Maven之Nexus局域网私服的搭建

卸载nexus

cmd进入nexus的bin目录,执行:nexus.bat uninstall

Maven之Nexus局域网私服的搭建

查看window服务列表nexus已被删除。

启动nexus

方法1:

cmd进入bin目录,执行nexus.bat start

方法2:

直接启动nexus服务

Maven之Nexus局域网私服的搭建

 

Nexus启动后我们可以看一下他的配置文件

Maven之Nexus局域网私服的搭建

# Jetty section

application-port=8081   # nexus的访问端口配置

application-host=0.0.0.0  # nexus主机监听配置(不用修改)

nexus-webapp=${bundleBasedir}/nexus  # nexus工程目录

nexus-webapp-context-path=/nexus  # nexus的web访问路径

 

# Nexus section

nexus-work=${bundleBasedir}/../sonatype-work/nexus   # nexus仓库目录

runtime=${bundleBasedir}/nexus/WEB-INF  # nexus运行程序目录

 

访问私服:打开浏览器输入如下地址

http://localhost:8081/nexus/

 

Maven之Nexus局域网私服的搭建

使用Nexus 内置账户admin/admin123登陆:

点击右上角的Log in,输入账号和密码 登陆

 

登陆成功:

Maven之Nexus局域网私服的搭建

 

 

nexus的仓库有4种类型:

Maven之Nexus局域网私服的搭建

 

1.hosted,宿主仓库,部署自己的jar到这个类型的仓库,包括releases和snapshot两部分,Releases公司内部发布版本仓库、                 Snapshots 公司内部测试版本仓库

2.proxy,代理仓库,用于代理远程的公共仓库,如maven中央仓库,用户连接私服,私服自动去中央仓库下载jar包或者插件。

3.group,仓库组,用来合并多个hosted/proxy仓库,通常我们配置自己的maven连接仓库组。

4.virtual(虚拟):兼容Maven1 版本的jar或者插件

 

nexus仓库默认在sonatype-work目录中:

Maven之Nexus局域网私服的搭建

  • central:代理仓库,代理中央仓库

Maven之Nexus局域网私服的搭建

 

  • apache-snapshots:代理仓库

存储snapshots构件,代理地址https://repository.apache.org/snapshots/

  • central-m1virtual类型仓库,兼容Maven1 版本的jar或者插件
  • releases:本地仓库,存储releases构件。
  • snapshots:本地仓库,存储snapshots构件。
  • thirdparty:第三方仓库
  • public:仓库组