Maven settings.xml的例子

配置文件加载顺序

  1. 先看用户目录下的全局配置文件 %USERPROFILE%\.m2\settings.xml
  2. mvn安装目录下conf目录下的settings.xml
  3. 项目本身的pom.xml文件。(如果pom有parent就再先看parent的pom)

我们要自己写什么配置

  • 官方的配置是海外的中心库,这样下载太慢了,所以我们需要修改从国内下载,我们一般用阿里云的镜像
  • 我们没有权限上传文件到中心库,所以我们需要搭建自己的库,方便自己上传,这就需要配置一下自己的库服务器

配置文件的位置

settings.xml在你的用户目录下的.m2目录下。

  • windows: ** %USERPROFILE%\.m2\settings.xml **
  • linux: ** $HOME/.m2/settings.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>D:/Maven/repository</localRepository>  

    <!-- 上传到俺的仓库时的用户名和密码,注意id要和项目pom中distributionManagementy的id一样 -->
    <servers>
        <server>
            <id>LinziRepo</id>
            <username>账号</username>
            <password>密码</password>
        </server>
    </servers>

    <!-- 镜像,我们使用阿里云的国内镜像 -->
    <mirrors>
        <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>Nexus osc</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </mirror>
        <mirror>
            <id>nexus-aliyun-thirdparty</id>
            <mirrorOf>thirdparty</mirrorOf>
            <name>Nexus osc thirdparty</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/thirdparty/</url>
        </mirror>
    </mirrors>

    <profiles>
        <!-- 默认的全局配置 -->
        <profile>
            <id>linzi-default</id>

            <properties>
                <!-- 默认编码格式是UTF-8,java版本是1.8 -->
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
                <java.version>1.8</java.version>
            </properties>
        </profile>

        <!-- 俺老人家的的仓库,我们自己开发的共用组件可以上传到这里 -->
        <profile>
            <id>linzi-repo</id>

            <repositories>
                <!-- 下面是仓库的属性 -->
                <repository>
                    <!-- 仓库是需要认证的,这里的id要和上面server的一样,用server中描述的用户名和密码认证 -->
                    <id>LinziRepo</id>
                    <name>梁韦江的 Maven 仓库</name>
                    <url>http://maven.liangwj.com/nexus/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>

        </profile>
    </profiles>

    <!-- 激活的配置文件,我们可以写很多的配置项,但至激活我们需要的几个 -->
    <activeProfiles>
        <activeProfile>linzi-default</activeProfile>
        <activeProfile>linzi-repo</activeProfile>
    </activeProfiles>
</settings>
Sidebar