一、配置私有镜像库:
1、打开maven配置文件:xxx\xxx\apache-maven-3.6.3\conf\settings.xml
2、配置私有库(以及用户名密码)、阿里云库地址,如下:
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<!-- https://maven.aliyun.com/repository/public/ -->
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<servers>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>xxx</password>
</server>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>xxx</password>
</server>
</servers>
<profiles>
<profile>
<id>jk_nexus</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>nexus-snapshots</id>
<name>snapshots</name>
<url>http://xxx:8081/repository/maven-snapshots/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>nexus-releases</id>
<name>releases</name>
<url>http://xxx:8081/repository/maven-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>ali-maven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>ali-plugin</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>jk_nexus</activeProfile>
</activeProfiles>
注意:
【1】mirrors: 节点下配置公用阿里云中央仓库地址
【2】servers: 节点中配置的是私有库的账户和密码,id需要和 profiles 节点中配置的id一致,分为 snapshots 、releases 需要单独配置账户和密码
【3】profiles:每个profile节点为一个配置信息,activation节点配置默认激活该配置信息,repositories 节点配置仓库的id、name、url等信息,插件仓库地址配置节点为 pluginRepositories
【4】activeProfiles:节点中配置需要激活启动的配置信息,支持激活启动多个配置信息
二、配置阿里云镜像库
1、打开maven配置文件:xxx\xxx\apache-maven-3.6.3\conf\settings.xml
2、在mirrors节点下配置如下代码:
<mirrors>
<mirror>
<id>aliyunmaven</id>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
<mirror>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/nexus/content/groups/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
注意
【1】是 https 协议的
【2】也可以只配置 http 协议的,http://maven.aliyun.com/nexus/content/groups/public/
3、如果提示验证证书错误,可以设置参数忽略证书验证
忽略证书验证参数代码如下:
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
三、父子结构项目,配置指定仓库地址,用于把当前项目jar包 deploy 到此仓库中
1、在父项目的 pom 文件中,配置仓库地址信息,如下
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>corp nexus-releases</name>
<url>http://xxx:8081/repository/xxx-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>corp nexus-snapshots</name>
<url>http://xxx:8081/repository/xxx-snapshots/</url>
</snapshotRepository>
</distributionManagement>
2、完成配置,使用 maven deploy 即可把当前项目jar包推送到指定的仓库中
注意:
【1】此父项目 pom 中配置的仓库地址,只用作 deploy 推送,拉取镜像包仍然会从 maven 的 setting.xml 文件配置的仓库地址拉取
【2】如果其他项目需要依赖【1】推送的jar包,需要在 maven setting.xml 文件中也配置推送时指定的仓库地址才可以拉取到最新的依赖,如下:
<repository>
<id>lifehall-snapshots</id>
<name>snapshots</name>
<url>http://xxx:8081/repository/xxx-snapshots/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>lifehall-releases</id>
<name>releases</name>
<url>http://xxx:8081/repository/xxx-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
【3】此父项目 pom 中配置的仓库地址,推送时需要用户拥有对应仓库的权限(配置用户密码在 maven setting.xml 的 servers 节点下配置,见步骤一),否则无法完成 deploy