1.首选安装docker

使用命令,拉取最新版本镜像

docker pull sonatype/nexus3

启动镜像,端口进行映射操作。

docker run -d --name nexus3 --restart=always -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -p 8085:8085 sonatype/nexus3

使用 docker ps 查看是否启动成功,然后访问 http://IP:8081,会进入nexus初始化界面,默认账号密码 admin/admin123

我们使用nexus主要用于公司发布内部jar及代理公网下载,这里对nexus基础不做说明。基础信息

2.上传本地jar包到maven私服

2.1 创建一个maven仓库
点击Security>Users 创建一个用户,我这里测试创建的用户/密码是:test/test,因为后面提交本地项目jar到私服仓库会用到

然后点击,设置>Repository>Repositories>Create repository>maven2(hosted)创建maven项目,注意Deployment policy一定要设置成allow redeploy、version pollcy根据项目打包是否存在SNAPSHOT或RELEASE字符来设定

 

 

2.2 respository介绍
proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用;
Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里;
Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存。

2.3使用idea批量提交jar到maven私服

首先设本地maven的settings.xml配置,在servers标签里添加用户密码支持,id:要和创建repository时name一致。

然后再项目的pom.xml添加远程发布的私服仓库地址

 <distributionManagement>
        <repository>
            <id>test</id>
            <name>test Repository</name>
            <url>http://192.168.81.121:8081/repository/test/</url>
        </repository>
    </distributionManagement>

url在已经创建的好repository获取

最后利用idea进行快速上传jar包

console打印成功并在Nexus 私服上可以查看得到上传成功,如下图:

在nexus管理页面查看刚刚上传的jar包信息

公司内部使用jar发布在私服上面,到这就成功了。但是有时我们既想使用私服下载内部使用jar包,也想代理公网下载地址。

直接对maven-public进行修改,将公司内部的仓库加入到maven-public组里面

修改本地maven的settings.xml配置

这样就完成了。

引入公司内部发布的jar包

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐