为什么要搭建私服
网速慢,下载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/
...