文章目录
- 一、Nexus的安装
- 1、运行程序
- 2、查看运行日志和初始密码
- 3、启动配置文件的修改
- 二、Nexus的使用
- 1、Nexus使用流程说明
- 2、库类型说明
- 2.1、maven-public库配置说明
- 2.2、maven-central库配置说明
- 3、用户本地配置使用maven-public库
- 3.1、禁用了匿名访问,额外需要配置
- 4、本地用户上传依赖
- 4.1、配置文件配置
- 4.2、上传依赖
- 4.3、依赖版本判断
- 5、单个jar包,自定义生成依赖
- 参考文档
一、Nexus的安装
- linux安装java8,因为nexus的运行需要java
- 作者把nexus安装在/usr/local/nexus目录下
- 解压之后会出现nexus-3.62 目录和sonatype-work目录
1、运行程序
- 作者启动了3分钟,慢慢等待不用着急,没启动起来的时候端口是无法访问的
- 进入运行目录
cd /usr/local/nexus/nexus-3.62/bin
- 启动
./nexus start
- 查看运行状态
./nexus status
- 查看是否完全运行起来
curl 'localhost:8081'
2、查看运行日志和初始密码
- 运行日志放在sonatype-work(数据目录)下
cd /usr/local/nexus/sonatype-work/nexus3/log
cat nexus.log
- 查看初始密码
cd /usr/local/nexus/sonatype-work/nexus3
cat admin.password
3、启动配置文件的修改
cd /usr/local/nexus/nexus-3.62/etc
- 备份配置文件
cp nexus-default.properties nexus-default.properties.bak
- 修改配置文件
vim nexus-default.properties
二、Nexus的使用
1、Nexus使用流程说明
- 用户直接使用的是maven-public库
- 当maven-puclic库中找不到依赖的时候,会通过maven-central库去远程下载依赖
- maven-releases,maven-snapshop用户存储用户上传的依赖
2、库类型说明
- proxy:远程代理库
- hosted:本地上传库
- group:用户使用库
2.1、maven-public库配置说明
2.2、maven-central库配置说明
3、用户本地配置使用maven-public库
- 去maven的安装目录下,修改 conf\settings.xml 文件
- 配置 mirror,192.168.19.130是作者服务器ip
<!--Nexus仓库配置,id可以随便取一个,mirrorOf不能随便写--><mirror><id>test</id><mirrorOf>*</mirrorOf><name>Nexus仓库配置</name><url>http://192.168.19.130:8081/repository/maven-public/</url></mirror>
- 阿里云镜像
<!--阿里云镜像 --><mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror>
- 腾讯云镜像
<!--腾讯云镜像 --><mirror><id>nexus-tencentyun</id><mirrorOf>*</mirrorOf><name>Nexus tencentyun</name><url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url></mirror>
3.1、禁用了匿名访问,额外需要配置
- 在maven的settings.xml 文件中,servers 标签增加用户名和密码进行认证,这里的id需要和mirror中配置的id一样
<server><id>test</id><username>admin</username><password>atguigu</password>
</server>
4、本地用户上传依赖
4.1、配置文件配置
- 必须要在maven中配置账号密码,在settings.xml 文件中servers标签中配置
- 因为上传必须要拥有权限
<server><id>test</id><username>admin</username><password>atguigu</password>
</server>
- pom文件中写入
<distributionManagement><repository><!--注意这个id一定要填写我们maven的setting.xml当中配置的id--><id>test</id><url>http://192.168.19.130:8081/repository/maven-releases/</url></repository><snapshotRepository><!--注意这个id一定要填写我们maven的setting.xml当中配置的id--><id>test</id><url>http://192.168.19.130:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement>
4.2、上传依赖
- 执行命令
mvn clean deploy -DskipTests
4.3、依赖版本判断
- Maven 仓库分为两种,Snapshot 快照仓库和 Release 发行仓库。
- Snapshot 快照仓库用于保存开发过程中的不稳定 SNAPSHOT 版本,Release 发行仓库则用来保存稳定的 RELEASE 版本。Maven 会根据模块的版本号(pom.xml 文件中的 version 元素)中是否带有 -SNAPSHOT 来判断是 SNAPSHOT 版本还是正式 RELEASE 版本。带有 -SNAPSHOT 是SNAPSHOT(快照)版本,不带 -SNAPSHOT 的就是正式 RELEASE(发布)版本。
- 举例讲解
<version>1.0</version> 会被上传到maven-releases
<version>1.0-SNAPSHOT</version> 会被上传到maven-snapshots
- 稳定版本,相同版本号只能发布一次
- 快照版本相同版本号可以发布多次,Nexus会自动增加一层文件夹带上时间戳,取出的时候会自动选择最新的快照
5、单个jar包,自定义生成依赖
参考文档
- Nexus私服简介及搭建
- 尚硅谷老师课件
- Maven私服仓库配置-Nexus详解