maven入门基础:配置maven从nexus下载构件(十四)

Posted cnhkzyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven入门基础:配置maven从nexus下载构件(十四)相关的知识,希望对你有一定的参考价值。

一. 单个pom.xml形式:适合单个项目

<repositories>
        <repository>
            <id>nexus</id>
            <name>Nexus</name>
            <url>http://192.168.0.105:8086/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <name>Nexus</name>
            <!-- 这个地址是私服groups类型的地址,该地址从私服仓库列表的最后一列可查看 -->
            <url>http://192.168.0.105:8086/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

 

 

注意:setting.xml中不能不能写成这样<mirrorOf>*</mirrorOf>,否则所有的构件都会从阿里云上下载,我们的pom.xml配置的私服就无效了。可以写成<mirrorOf>central</mirrorOf>,只有中央仓库的构件从阿里云上下载,其他从私服上下载

<mirrors>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
  </mirrors>

可以看到,maven正在从私服上下载构件

完成后查看,本地仓库和私服仓库

 

 

 

 

 

二. setting.xml方式:适合所有项目

1. 定义私服仓库

<!-- 定义私服仓库 -->
</profiles>
    <profile>
        <repositories>
            <repository>
                <id>nexus</id>
                <name>Nexus</name>
                <url>http://192.168.0.105:8086/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>nexus</id>
                <name>Nexus</name>
                <url>http://192.168.0.105:8086/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
             </pluginRepository>
        </pluginRepositories>
    </profile>
  </profiles>
  <!-- 激活私服 -->
  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>

2. 所有请求转向私服

<mirrors>
    <mirror>
        <id>nexus</id>
        <name>Nexus</name>
        <!-- http://maven.aliyun.com/nexus/content/groups/public/ -->
                <url>http://192.168.0.105:8086/nexus/content/groups/public/</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>

 

 

 

对应私服服务器下的/nexus/storage/目录

三. 配置优先级

settings.xml文件一般存在于两个位置:

  • 全局配置: ${M2_HOME}/conf/settings.xml
  • 用户配置: user.home/.m2/settings.xml
  • (note:用户配置优先于全局配置。)

需要注意的是:局部配置优先于全局配置
配置优先级从高到低:pom.xml> user settings > global settings
如果这些文件同时存在,在应用配置时,会合并它们的内容,如果有重复的配置,优先级高的配置会覆盖优先级低的

 

以上是关于maven入门基础:配置maven从nexus下载构件(十四)的主要内容,如果未能解决你的问题,请参考以下文章

maven入门基础:创建nexus代理仓库

maven入门基础:创建nexus仓库组

maven入门基础:创建nexus宿主仓库

maven入门基础:使用maven部署构件到nexus(十五)

maven仓库--私服(Nexus的配置使用)

maven入门基础:nexus的仓库介绍