目录
一、搭建私服
1.1、搭建私服原因
1.2、nexus软件的安装
1.3、私服的使用
1.4、仓库介绍
1.5、从私服下载资源
1.6、下载失败
1.7、将资源上传到私服
1.7.1 问题
一、搭建私服
1.1、搭建私服原因
公司开发了jar包,可供其他项目组使用、无网络使用依赖
1.2、nexus软件的安装
私服配置文件中的端口号:
双击或者鼠标右击,管理员执行
启动成功:
1.3、私服的使用
浏览器输入地址:http://localhost:8081/nexus
用户名:admin
秘密法:admin123
登陆成功
1.4、仓库介绍
私服中仓库类型的介绍:
group:组,所有仓库的入口
hosted:宿主仓库,用于管理非中央仓库的依赖
proxy: 代理,中央仓库的代理
virtual: maven1版本的支持,不用。
仓库介绍:
Public Repositories: 仓库组,所有仓库的统一入口。
3rd party: 宿主仓库,用于存放中央仓库没有并且是第三方公司开发的jar。
Apache Snapshots: 代理仓库,apache仓库的代理
central: 代理仓库,中央仓库的代理
Central M1 shadow : maven1版本的支持,不管
Releases: 宿主仓库,用来存放我们自己开发的依赖的发行版
Snapshots: 宿主仓库,用来存放我们自己开大的依赖的快照版
发行版(正式发布会):解决了快照版出现的bug,不会频繁的更新。
快照版(抢先体验):一些bug,会频繁的更新bug
仓库类型:
私服中各种仓库 和 仓库之间的关系
快照版和发行版:
1.5、从私服下载资源
演示步骤:
1.删除本地仓库中mysql依赖。
2.修改私服中central代理的远程仓库为阿里云
3.修改maven的settings配置文件中,配置私服为我们自己搭建的私服
4.打开工程,引入被删除的mysql依赖,
1.删除本地仓库中mysql依赖。
2.修改私服中central代理的远程仓库为阿里云
阿里云私服地址: http://maven.aliyun.com/nexus/content/groups/public
3.修改maven的settings配置文件中,配置私服为我们自己搭建的私服
4.打开工程,引入被删除的mysql依赖,
1.6、下载失败
如果配置了阿里云,也连接了网络,但是就是下载不成功。
解决:
1.7、将资源上传到私服
第三方宿主仓库 (3rd party)
用于存放阿里云但是是第三方开发的jar包。
演示:
1.自定义一个依赖,打成jar包,代表第三方公司的依赖
2.上传到3rd party
3.开启一个工程,引入这个依赖
4.查看引入情况即可
演示: 1.自定义一个依赖,打成jar包,代表第三方公司的依赖
2.上传到3rd party
3.开启一个工程,引入这个依赖
4.查看引入情况即可
自定义快照版仓库
演示步骤:
1.自定开启maven工程,编写一个mylist工具类。并且打成jar包
2.在maven工程的settings.xml中配置远程仓库的登录用户名和密码
3.在maven的pom.xml中配置远程仓库的地址
4.deploy命令进行上传
5.再另起工程, 通过坐标引入
1.自定开启maven工程,编写一个mylist工具类。并且打成jar包
2.在maven工程的pom.xml中配置远程仓库的地址
<distributionManagement>
<!--当前项目版本后缀为:RELEASES的上传目录-->
<repository>
<id>releases</id>
<name>Internal Releases</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<!--当前项目版本后缀为:SNAPSHOT上传目录-->
<snapshotRepository>
<id>snapshots</id>
<name>Internal Snapshots</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
3.在maven的settings.xml中配置用户名和密码
<server>
<!-- 仓库的唯一标识, -->
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
4.deploy命令进行上传
5.再另起工程, 通过坐标引入
1.7.1 问题
问题1:
此处有一个问题:maven命令执行不成功。
因为我们maven的命令是依赖于maven的插件,本地仓库有插件,但是maven会去校验远程仓库是否有对应的插件。很明显,我们远程私服是自己刚搭建的,没有插件,所以命令执行失败。
解决办法:我们先删除本地的一个插件,然后在直接去执行命令,maven会自动校验远程,并且进行下载。
问题2:
pom.xml中配置如下内容
<repositories>
<repository>
<!-- 私服的id -->
<id>nexus</id>
<!-- 自己的私服的公共入口 -->
<url>http://192.168.14.69:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<!-- 允许从快照版仓库下载资源 -->
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
自定义发行版仓库
上传成功
其他公共私服地址
1、http://maven.aliyun.com/nexus/content/groups/public/ 阿里云 (强力推荐)
2、https://mirrors.huaweicloud.com/repository/maven/ (华为云)
3、http://repository.jboss.org/nexus/content/groups/public