maven中仓库的配置与优先级的实现
作者:L-960
本文介绍Maven仓库配置,包括settings.xml和pom.xml中的本地仓库、镜像及profile设置,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
1 仓库的具体配置
1.1 settings.xml配置本地仓库
<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 | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> <localRepository>D:\Program Files\apache-maven-3.6.3\conf\repository</localRepository> </settings>
1.2 pom.xml配置的仓库
<project> <repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> </project>
1.3 settings.xml配置mirror镜像
<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"> <mirrors> <mirror> <id>aliyun-central</id> <name>aliyun-central</name> <mirrorOf>central</mirrorOf> <url>https://maven.aliyun.com/repository/central</url> </mirror> <mirror> <id>aliyun-spring</id> <name>aliyun-spring</name> <mirrorOf>spring</mirrorOf> <url>https://maven.aliyun.com/repository/spring</url> </mirror> <mirror> <id>aliyun-spring-plugin</id> <name>aliyun-spring-plugin</name> <mirrorOf>spring-plugin</mirrorOf> <url>https://maven.aliyun.com/repository/spring-plugin</url> </mirror> </mirrors> </settings>
1.4 settings.xml配置profile仓库
<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>nexus-server</id> <username>uname</username> <password>pwd</password> </server> </servers> <profiles> <profile> <id>nexus</id> <repositories> <repository> <id>nexus-server</id> <name>Nexus Repository</name> <url>https://maven.nexus.com/repository/maven-public/</url> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories> </profile> </profiles> <!--让配置生效--> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles> </settings>
2 结论
2.1 mirror中不代理*的拉取顺序
- settings.xml->本地仓库,如果没有则向下找
- settings.xml->profile中的仓库,如果没有则向下找
- pom.xml配置的仓库,如果没有则向下找
- settings.xml->mirror中代理central的仓库
2.2 mirror中代理了*的拉取顺序
mirror中一旦代理了*,则该配置优先级最高,其他的都不会走了。
但是有一种情况除外,就是mirror中代理了central仓库,那么如果代理*的 mirror中没有,则会找代理的central仓库
- settings.xml->本地仓库,如果没有则向下找
- settings.xml->mirror中代理
*
的仓库,如果没有则向下找 - settings.xml->mirror中代理central的仓库
到此这篇关于maven中仓库的配置与优先级的实现的文章就介绍到这了,更多相关maven 仓库配置与优先级内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!