②点说明
说明1:以下操作无前后关系
- 配置自动部署
- 手动上传jar包
- 拉取上传的jar包
说明2:私服中 public 仓库相当于 releases、snapshots 的映射,发布到这俩仓库中的jar包在public中都能看到。(对外相当与代理仓库)
配置自动部署(快照/发行版)
1、在本地 maven 的 settings.xml 文件中添加 nexus 认证信息(servers节点下)。
<servers> <server> <id>maven-snapshots</id> <username>admin</username> <password>admin123</password> </server> <server> <id>maven-releases</id> <username>admin</username> <password>admin123</password> </server> </servers>
(安装可不看)snapshots 与 releases 的说明
2、pom.xml 中添加如下配置
<!--私服仓库--> <distributionManagement> <repository> <id>maven-releases</id> <url>http://127.0.0.1:7001/repository/maven-releases/</url> </repository> <snapshotRepository> <id>maven-snapshots</id> <url>http://127.0.0.1:7001/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
说明:id 必须与 maven 配置文件中 servers 节点下的 server id 一致。才能调用账号/密码请求成功。url 为私有仓库地址,可以从 nexus 中获得。
手动上传jar包(使用maven命令)
mvn deploy:deploy-file -DgroupId=com.test -DartifactId=cloud -Dversion=1.0.1-RELEASE -Dpackaging=jar -Dfile=D:/gateway.jar -Durl=http://127.0.0.1:7001/repository/maven-releases/ -DrepositoryId=maven-releases 参数说明: mvn deploy:deploy-file -DgroupId=xxxxxx 就相当于pom中的groupId -DartifactId=xxxxxx 就相当于pom中的artifactId -Dversion=xxxxxx 就相当于pom中的版本号version -Dpackaging=xxxxxx 就相当于pom中打包方式 -Dfile=xxxxxx 本地环境 -Durl=xxxxxx 上传的url -DrepositoryId=xxxxxx 对应的是setting.xml 里边的id
从私服拉取jar包(配置代理仓库)
说明:需要从私服拉去jar包的配置如下
<!--代理仓库-->
<repositories> <repository> <id>nexus3</id> <url>http://127.0.0.1:7001/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus3</id> <url>http://127.0.0.1:7001/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> <!--导入依赖--> <dependencies> <dependency> <groupId>com.test</groupId> <artifactId>cloud</artifactId> <version>1.0.1-RELEASE</version> </dependency> </dependencies>