格式模板
<?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>~/.m2/repository</localRepository>-->
<!--本地仓库的路径-->
<localRepository>/Volumes/chauncy_data/m2/repository</localRepository>
<!--maven是否需要和用户交互以获得输入 默认为true-->
<interactiveMode>true</interactiveMode>
<!--是否需要plugin-registry.xml文件来管理插件版本-->
<usePluginRegistry>false</usePluginRegistry>
<!--是否需要离线模式下运行-->
<offline>false</offline>
<pluginGroups>
<!--插件组织-->
</pluginGroups>
<!--代理服务器-->
<proxies>
<proxy>
<active>false</active>
<id>kkk</id>
<host>192.168.7.17</host>
<port>8080</port>
<protocol>http</protocol>
<username>xxx</username>
<password>xxx</password>
</proxy>
</proxies>
<servers>
<!--打包上传到私服时,设置私服的鉴权信息-->
<server>
<!--server的id 不是用户登录的id 该id与distributionManager中repository元素的id相匹配-->
<id>maven-releases</id>
<!--用户名密码-->
<username>admin</username>
<password>xxx</password>
<!--鉴权时的私钥位置-->
<!--<privateKey>~/.ssh/id_dsa</privateKey>-->
<!--<passphrase>私钥密码</passphrase>-->
<!--文件被创建时的权限-->
<filePermissions>664</filePermissions>
<!--目录被创建时的权限-->
<directoryPermissions>775</directoryPermissions>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>Meifute@12asw1</password>
</server>
<server>
<id>nexus-mirror</id>
<username>admin</username>
<password>xxx</password>
</server>
</servers>
<mirrors>
<!-- 被镜像的服务器的id, 必须与 repository 节点设置的 ID 一致
| mirrorOf 的配置语法:
| * = 匹配所有远程仓库。 这样所有 pom 中定义的仓库都不生效
| external:* = 匹配除 localhost、使用 file:// 协议外的所有远程仓库
| repo1,repo2 = 匹配仓库 repo1 和 repo2
| *,!repo1 = 匹配所有远程仓库, repo1 除外
|-->
<!--mirror可以拦截对远程仓库的请求 , 改变对目标仓库的下载地址-->
<mirror>
<!--该镜像的唯一标识-->
<id>alicentral</id>
<!--该镜像服务器的id-->
<mirrorOf>central</mirrorOf>
<!--镜像名称-->
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>
<id>public</id>
<mirrorOf>public</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<mirror>
<id>aliyun-google</id>
<mirrorOf>google</mirrorOf>
<name>阿里云google仓库</name>
<url>https://maven.aliyun.com/repository/google</url>
</mirror>
<mirror>
<id>aliyun-gradle</id>
<mirrorOf>gradle-plugin</mirrorOf>
<name>阿里云gradle仓库</name>
<url>https://maven.aliyun.com/repository/gradle-plugin</url>
</mirror>
<mirror>
<id>aliyun-spring</id>
<mirrorOf>spring</mirrorOf>
<name>阿里云spring仓库</name>
<url>https://maven.aliyun.com/repository/spring</url>
</mirror>
<mirror>
<id>aliyun-spring-plugin</id>
<mirrorOf>spring-plugin</mirrorOf>
<name>阿里云spring-plugin仓库</name>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
</mirror>
<mirror>
<id>aliyun-grails-core</id>
<mirrorOf>grails-core</mirrorOf>
<name>阿里云grails-core仓库</name>
<url>https://maven.aliyun.com/repository/grails-core</url>
</mirror>
<mirror>
<id>aliyun-apache-snapshots</id>
<mirrorOf>apache snapshots</mirrorOf>
<name>阿里云apache-snapshots仓库</name>
<url>https://maven.aliyun.com/repository/apache-snapshots</url>
</mirror>
<mirror>
<id>maven-central</id>
<mirrorOf>maven-central</mirrorOf>
<url>https://maven2.chauncy.com/repository/maven-central/</url>
</mirror>
<mirror>
<id>maven-public</id>
<mirrorOf>maven-public</mirrorOf>
<url>https://maven2.chauncy.com/repository/maven-public/</url>
</mirror>
<mirror>
<id>maven-snapshots</id>
<mirrorOf>maven-snapshots</mirrorOf>
<url>https://maven2.chauncy.com/repository/maven-snapshots/</url>
</mirror>
<mirror>
<id>maven-releases</id>
<mirrorOf>maven-releases</mirrorOf>
<url>https://maven2.chauncy.com/repository/maven-releases/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<!--profile的唯一标识符-->
<id>nexus</id>
<!--自动触发profile的条件逻辑-->
<activation>
<!--是否默认激活-->
<activeByDefault>false</activeByDefault>
<!--当匹配的jdk被检测到 profile激活-->
<jdk>1.8</jdk>
<!--匹配到操作系统-->
<!--<os>
<name>xxx</name>
<family>Windows</family>
<arch>x86</arch>
<version>xxx</version>
</os>-->
<!--当maven检测到属性值匹配 profile就激活 值可以在pom中通过${name}引用-->
<!--<property>
<name>mavenVersion</name>
<value>3.5.4</value>
</property>-->
<file>
<!--如果文件存在就激活-->
<exists>xxx/xxx</exists>
<!--如果文件不存在就激活-->
<missing>xxx/xxxe</missing>
</file>
</activation>
<!--扩展属性列表-->
<properties>
<!--如果该profile被激活,则可以在pom.xml中使用${user.install}-->
<user.install>${user.home}/our-project</user.install>
</properties>
<!--远程仓库列表 用来填充本地仓库的远程仓库-->
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<layout>default</layout>
</repository>
<repository>
<!--远程仓库的唯一标识-->
<id>maven-releases</id>
<!--名称-->
<name>chauncy</name>
<url>https://maven2.chauncy.com/repository/maven-public/</url>
<!--如何处理远程仓库里发布版本的下载-->
<releases>
<enabled>true</enabled>
<!--更新频率 always一直 daily 默认日 interval 间隔时间分钟 never从不-->
<updatePolicy>always</updatePolicy>
<!--校验失败策略 ignore fail warn-->
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<!--用于定位和排序构建的仓库布局类型 default 和legacy -->
<layout>default</layout>
</repository>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype</id>
<name>sonatype</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype-release</id>
<name>sonatype-release</name>
<url>https://oss.sonatype.org/service/local/repositories/releases/content</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<!--插件仓库列表-->
<pluginRepositories>
<pluginRepository>
<id>x</id>
<name>name</name>
<url>https://xxxx.cccc</url>
<releases>
<enabled>true</enabled>
<checksumPolicy>fail</checksumPolicy>
<updatePolicy>daily</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>fail</checksumPolicy>
<updatePolicy>daily</updatePolicy>
</snapshots>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!--手动激活profile id-->
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
setting.xml参考
<?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>~/.m2/repository</localRepository>-->
<!--本地仓库的路径-->
<!--<localRepository>/Volumes/chauncy_data/m2/repository</localRepository>-->
<localRepository>D:\m2\repository</localRepository>
<!--maven是否需要和用户交互以获得输入 默认为true-->
<interactiveMode>true</interactiveMode>
<!--是否需要plugin-registry.xml文件来管理插件版本-->
<usePluginRegistry>false</usePluginRegistry>
<!--是否需要离线模式下运行-->
<offline>false</offline>
<pluginGroups>
<!--插件组织-->
</pluginGroups>
<!-- 本地仓库> settings_profile_repo > pom_profile_repo > pom_repositories > settings_mirror > central -> * -->
<servers>
<!--打包上传到私服时,设置私服的鉴权信息-->
<server>
<!--server的id 不是用户登录的id 该id与distributionManager中repository元素的id相匹配-->
<id>maven-releases</id>
<!--用户名密码-->
<username>admin</username>
<password>xxx</password>
<!--鉴权时的私钥位置-->
<!--<privateKey>~/.ssh/id_dsa</privateKey>-->
<!--<passphrase>私钥密码</passphrase>-->
<!--文件被创建时的权限-->
<filePermissions>664</filePermissions>
<!--目录被创建时的权限-->
<directoryPermissions>775</directoryPermissions>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>xxx</password>
</server>
</servers>
<mirrors>
<!--
| 1、在mirrorOf与repository Id相同的时候优先是使用mirror的地址
| 2、mirrorOf等于*的时候覆盖所有repository配置
| 3、存在多个mirror配置的时候mirrorOf等于*放到最后
| 4、只配置mirrorOf为central的时候可以不用配置repository
-->
<!-- 被镜像的服务器的id, 必须与 repository 节点设置的 ID 一致
| mirrorOf 的配置语法:
| * = 匹配所有远程仓库。 这样所有 pom 中定义的仓库都不生效
| external:* = 匹配除 localhost、使用 file:// 协议外的所有远程仓库
| repo1,repo2 = 匹配仓库 repo1 和 repo2
| *,!repo1 = 匹配所有远程仓库, repo1 除外
|-->
<!--mirror可以拦截对远程仓库的请求 , 改变对目标仓库的下载地址-->
<mirror>
<!--该镜像的唯一标识-->
<id>central</id>
<!--该镜像服务器的id-->
<mirrorOf>central</mirrorOf>
<!--镜像名称-->
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>
<id>public</id>
<mirrorOf>public</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<mirror>
<id>taocodePublic</id>
<mirrorOf>taocodepulic</mirrorOf>
<name>taocode nexus</name>
<url>http://mvnrepo.code.taobao.org/nexus/content/repositories/public/</url>
</mirror>
<mirror>
<id>aliyun-google</id>
<mirrorOf>google</mirrorOf>
<name>阿里云google仓库</name>
<url>https://maven.aliyun.com/repository/google</url>
</mirror>
<mirror>
<id>aliyun-gradle</id>
<mirrorOf>gradle-plugin</mirrorOf>
<name>阿里云gradle仓库</name>
<url>https://maven.aliyun.com/repository/gradle-plugin</url>
</mirror>
<mirror>
<id>aliyun-spring</id>
<mirrorOf>spring</mirrorOf>
<name>阿里云spring仓库</name>
<url>https://maven.aliyun.com/repository/spring</url>
</mirror>
<mirror>
<id>aliyun-spring-plugin</id>
<mirrorOf>spring-plugin</mirrorOf>
<name>阿里云spring-plugin仓库</name>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
</mirror>
<mirror>
<id>aliyun-grails-core</id>
<mirrorOf>grails-core</mirrorOf>
<name>阿里云grails-core仓库</name>
<url>https://maven.aliyun.com/repository/grails-core</url>
</mirror>
<mirror>
<id>aliyun-apache-snapshots</id>
<mirrorOf>apache snapshots</mirrorOf>
<name>阿里云apache-snapshots仓库</name>
<url>https://maven.aliyun.com/repository/apache-snapshots</url>
</mirror>
<!--<mirror>
<id>maven-central</id>
<mirrorOf>maven-central</mirrorOf>
<url>https://maven2.chauncy.com/repository/maven-central/</url>
</mirror>
<mirror>
<id>maven-public</id>
<mirrorOf>maven-public</mirrorOf>
<url>https://maven2.chauncy.com/repository/maven-public/</url>
</mirror>
<mirror>
<id>maven-snapshots</id>
<mirrorOf>maven-snapshots</mirrorOf>
<url>https://maven2.chauncy.com/repository/maven-snapshots/</url>
</mirror>
<mirror>
<id>maven-releases</id>
<mirrorOf>maven-releases</mirrorOf>
<url>https://maven2.chauncy.com/repository/maven-releases/</url>
</mirror>-->
</mirrors>
<profiles>
<profile>
<id>jdk-dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
<profile>
<!--profile的唯一标识符-->
<id>nexus</id>
<!--远程仓库列表 用来填充本地仓库的远程仓库-->
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
<repositories>
<repository>
<!--远程仓库的唯一标识-->
<id>maven-public</id>
<!--名称-->
<name>meifute</name>
<url>https://maven2.chauncy.com/repository/maven-public/</url>
<!--如何处理远程仓库里发布版本的下载-->
<releases>
<enabled>true</enabled>
<!--更新频率 always一直 daily 默认日 interval 间隔时间分钟 never从不-->
<updatePolicy>always</updatePolicy>
<!--校验失败策略 ignore fail warn-->
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<!--用于定位和排序构建的仓库布局类型 default 和legacy -->
<layout>default</layout>
</repository>
<!--<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype</id>
<name>sonatype</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype-release</id>
<name>sonatype-release</name>
<url>https://oss.sonatype.org/service/local/repositories/releases/content</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>taocodeReleases</id>
<name>taocode nexus</name>
<url>http://mvnrepo.code.taobao.org/nexus/content/repositories/releases/</url>
</repository>
<repository>
<id>taocodePublic</id>
<name>taocode nexus p</name>
<url>http://mvnrepo.code.taobao.org/nexus/content/repositories/public/</url>
</repository>
<repository>
<id>taocodeSnapshots</id>
<name>taocode nexus</name>
<url>http://mvnrepo.code.taobao.org/nexus/content/repositories/snapshots/</url>
</repository>-->
</repositories>
</profile>
</profiles>
<activeProfiles>
<!--手动激活profile id-->
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
pom文件
<distributionManagement>
<!-- 两个ID必须与 setting.xml中的<server><id>nexus-releases</id></server>保持一致-->
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://localhost:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>