私服的基本使用和上传下载
为什么要搭建私服
网速慢,下载jar包时间久,工作效率低
不利于公共构建的管理和维护
公司内部开发的jar包只有公司共享管理
我们要做的
就是记录正式版(Releases)和快照版(Snapshots)的仓库地址,以后我们自己开发打包的 jar 就会向这两个地址去上传,同时也可以供其它公司同事下载
私服的基本使用
1.这里私服采用了 nexus 公司提供的免费软件来搭建
下载地址为:https://www.sonatype.com/nexus/repository-oss-download
如果自己尝试搭建,建议选择 2.x 这个旧的版本,因为更小、更简单
jdk–1.8采用的 版本;采用的windows服务
2.下载后运行 console-nexus.bat;
3.打开浏览器 http://localhost:8081/nexus
4.点击右上角的 Log In 链接,输入用户名 admin
和密码 admin123
5.新增一个仓库,这里在官网拿了一个阿里云的仓库地址。改下名字加个地址就绪
6.然后在组仓库移除*仓库,加入阿里云仓库,保存即可
私服上传(常规来说,上传需要设置密码权限,下载不需要)
1.配置上传地址
<distributionManagement>
<repository>
<id>releases</id>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
2.在maven文件conf里面的settings.xml配置认证信息
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
...
</settings>
3.配置完可以desploy上传部署,以下就是上传的前后图
上传前
上传后
私服下载
1.导入坐标依赖
这里是因为我本地仓库有这个地址,所以跟其他本地仓库的依赖一样,不需要再导地址。
本地仓库的优先级高于私服
2.一般来说,本地仓库没有,需要去私服下载,还需要配置私服地址,然后导入坐标的顺序是从下到下依次寻找,找到的第一个就导入
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
...
<repositories>
<!-- 其它第三方的仓库 -->
<!-- 本公司的私服仓库地址 -->
<repository>
<id>releases</id>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<repository>
<id>snapshots</id>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
...
</project>
http://localhost:8081/nexus/content/repositories/snapshots/
...