记录搭建
1、查找镜像
docker search nexus
一般安装star数最多的版本,目前最新是sonatype/nexus3
2、拉取镜像
docker pull sonatype/nexus3
3、设置777
chmod -R 777 /opt/nexus/data
4、启动
docker run -d --name nexus3 -p 8081:8081 --restart always -v /opt/nexus/data:/nexus-data sonatype/nexus3
5、查看日志
docker logs -f nexus3
6、启动完成
登陆私服
1、打开浏览器
访问 http://:8081/
2、查看密码
cat /opt/nexus/data/admin.password
项目发布到nexus的仓库
1、首先修改maven的setting.xml文件,添加用户信息,以便jar包上传私服时进行身份认证,修改内容如下:
maven-releases admin 112233 maven-snapshots admin 112233id : 为nexus的仓库名称,
username : nexus用户名
password : nexus密码
需要将项目版本改成发布版本,在pom.xml中0.0.1-SNAPSHOT去掉-SNAPSHOT,改为0.0.1。重新执行mvn clean deploy:
2、创建maven项目,修改pom.xml
增加发布管理节点
maven-snapshots maven-snapshots-repository http://192.168.172.141:8081/repository/maven-snapshots/ maven-releases maven-releases-repository http://192.168.172.141:8081/repository/maven-releases/snapshotRepository : 快照仓库
repository : 发行仓库
id : 与上面的server的id一致
name : 随便
url : 仓库地址,从nexus中可以找到
3、项目打包发布
maven会根据中是否含有SANPSHOT来选择是发布到快照仓库,还是发行版仓库
项目打包
mvn clean package -Dmaven.test.skip=true
项目发布
mvn deploy
运行完便可在nexus中看到自己的项目了。
jar包安装到nexus私服
有时项目开发时,一些maven依赖下载不下来,一直报错。这时,可以手动下载jar包,将其安装到nexus私服,再从nexus解决依赖问题。下面以安装kaptcha为例:
mvn deploy:deploy-file -DgroupId=com.google.code.kaptcha -DartifactId=kaptcha -Dversion=2.3 -Dpackaging=jar -Dfile=D:\kaptcha-2.3.2.jar -Durl=http://192.168.172.141:8081/repository/third/ -DrepositoryId=third
DgroupId : jar包的groupId
Dversion : jar包的版本
Dfile : jar包所在位置
Durl : 仓库地址
DrepositoryId : 仓库名
这里新建了名为third的第三方仓库,注意要在setting.xml增加一个server节点,配置用户名和密码。同时要将third仓库加到maven-public组中,因为第十步要依赖的是maven-public组。将 third加入maven-pulic组后,只要依赖maven-public,便可取到third中的jar包。
从nexus下载依赖
在pom.xml中增加如下仓库配置:
nexus Nexus Repository http://192.168.172.141:8081/repository/maven-public/ true true nexus Nexus Plugin Repository http://192.168.172.141:8081/repository/maven-public/ true true可以看到 上面的url节点填写的都是maven-public组的url,而maven-releases,maven-snapshots,third都包含在maven-public中,所以能取到三个仓库的内容。