maven setting多仓库配置方式
前言
maven setting 通常公司都有私 服地址,但不是所有包私 服上都有,这时就要用阿里云或者其他地址去拉包。
那么我们可以直接设置setting 使其拉包时第一个地址拉取不到自动到第二个地址拉取以此类推可设置多个仓库地址进行补充。
一 、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>
二、其他问题
1.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文件
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring Boot中利用JavaMailSender发送邮件的方法示例(附源码)
这篇文章主要介绍了Spring Boot中利用JavaMailSender发送邮件的方法示例, 相信使用过Spring的众多开发者都知道Spring提供了非常好用的JavaMailSender接口实现邮件发送。在Spring Boot的Starter模块中也为此提供了自动化配置。需要的朋友可以参考借鉴。2017-02-02解决Eclipse add external jars运行出现java.lang.NoClassDefFoundErro
本篇文章对Eclipse add external jars导致运行出现java.lang.NoClassDefFoundError的解决方法进行了详细的分析介绍。需要的朋友参考下2013-05-05
最新评论