前言
maven setting 通常公司都有私服地址,但不是所有包私服上都有,这时就要用阿里云或者其他地址去拉包。
那么我们可以直接设置setting 使其拉包时第一个地址拉取不到自动到第二个地址拉取以此类推可设置多个仓库地址进行补充。文章来源地址https://www.toymoban.com/news/detail-573283.html
一 、setting文件
<?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">
<localRepository>D:\software\dev\apache-maven-3.6.3\Repositories</localRepository>
<pluginGroups></pluginGroups>
<proxies></proxies>
<servers></servers>
<mirrors></mirrors>
<profiles>
<profile>
<id>aliyun</id>
<repositories>
<repository>
<id>aliyun</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
<profile>
<id>private</id>
<repositories>
<repository>
<id>maven-releases</id>
<name>User Porject Release</name>
<url>http://私服地址/nexus/repository/maven-releases/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>maven-snapshots</id>
<name>User Porject Snapshot</name>
<url>http://私服地址/nexus/repository/maven-snapshots/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
<!-- 也可以把阿里云等仓库地址直接在这里补充 -->
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
</profile>
<!-- <profile>-->
<!-- <id>repo1</id>-->
<!-- <repositories>-->
<!-- <repository>-->
<!-- <id>repo1</id>-->
<!-- <url>https://repo1.maven.org/maven2</url>-->
<!-- <releases>-->
<!-- <enabled>true</enabled>-->
<!-- </releases>-->
<!-- <snapshots>-->
<!-- <enabled>true</enabled>-->
<!-- <updatePolicy>always</updatePolicy>-->
<!-- </snapshots>-->
<!-- </repository>-->
<!-- </repositories>-->
<!-- </profile>-->
<!-- <profile>-->
<!-- <id>repo2</id>-->
<!-- <repositories>-->
<!-- <repository>-->
<!-- <id>repo2</id>-->
<!-- <url>https://repo2.maven.org/maven2</url>-->
<!-- <releases>-->
<!-- <enabled>true</enabled>-->
<!-- </releases>-->
<!-- <snapshots>-->
<!-- <enabled>true</enabled>-->
<!-- <updatePolicy>always</updatePolicy>-->
<!-- </snapshots>-->
<!-- </repository>-->
<!-- </repositories>-->
<!-- </profile>-->
</profiles>
<activeProfiles>
<activeProfile>aliyun</activeProfile>
<activeProfile>private</activeProfile>
<!-- <activeProfile>repo1</activeProfile>-->
<!-- <activeProfile>repo2</activeProfile>-->
</activeProfiles>
</settings>
二、其他问题
- maven 默认有一个setting文件,如果我们的setting文件有很多,而默认setting中的mirror 直接指定了仓库路径,此时无论引用哪个setting文件,都会首先到默认setting内指定的仓库中拉取。
如下图所示,我的默认setting文件如此设置后,我指定了另外的setting文件,但是他会去D:\software\dev\apache-maven-3.6.3\Repositories\hlj路径下寻包,寻找不到直接报错Could not find artifact xxx in public (file://D:\software\dev\apache-maven-3.6.3\Repositories\hlj)
,最好只保留一个setting文件。
文章来源:https://www.toymoban.com/news/detail-573283.html
到了这里,关于maven setting 多仓库配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!