首页 > 其他分享 >多个仓库源配置及repositories和mirrors的配置

多个仓库源配置及repositories和mirrors的配置

时间:2023-02-10 08:33:26浏览次数:40  
标签:repository mirrors 仓库 配置 repositories maven mirrorOf true

  在实际项目中会存在多个仓库,包括我们自建的Nexus私有仓库和阿里仓,这里就需要设置多仓的顺序,防止jar包不在其中一个仓库时会自动从另外一个仓库中拉取。   Maven的Setting配置中有mirror和repository,它们的作用都是配置远程maven仓库的地址。repository就是直接配置站点地址,mirror则是作为站点的镜像,代理某个或某几个站点的请求,实现对repository的完全代替。       有两种形式可以配置多个repository, 配置多个profile或者在同一个profile中配置多个repository.配置多profile时,还需要配置activeProfiles使配置生效。   下载依赖时,maven会按照配置从上到下的顺序,依次尝试从各个地址下载,成功下载为止。   无论是配置国内的maven仓库,还是配置nexus之类私服,都可以直接配置成repository, 这样即使配置的这些仓库有些问题导致一些包下不下来,也可以继续用别的仓库尝试。     <repository>时<id>似乎也没什么用,如果你只是在pom.xml中配置个仓库,这个id是没什么用的,可以随便写。这个id是配合上面讲的mirror一块使用的,还记得mirrorOf吗,我们配置mirrorOf为<mirrorOf>central</mirrorOf>是,mirror中的url会将默认的central仓库的url给覆盖了,所以这里的<repository>标签下的id是给mirrorOf用的。当repository中的id与mirrorOf一致时,mirrorOf中的url就会覆盖repository中的url地址。     在Mirrors部分可以配置多个镜像仓库,但是在该部分配置多个仓库,并不能提供自动查询多个仓库的功能,默认还是取第一个仓库进行查询。   我们这里采用设置profiles的方式来达到想要的目的,直接上配置:

<?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:/m2/repository</localRepository>
  <pluginGroups>
    <pluginGroup>org.mortbay.jetty</pluginGroup>
  </pluginGroups>
  <proxies>
  </proxies>
  <servers>
    <server>
      <id>nexus-releases</id>
      <username>ali</username>
      <password>123456</password>
    </server>
  </servers>
  <mirrors>
  </mirrors>
  <profiles>
    <profile>
      <id>jdk-1.8</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>
      <id>downloadSources</id>
      <properties>
        <downloadSources>true</downloadSources>
        <downloadJavadocs>true</downloadJavadocs>
      </properties>
    </profile>
    <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>nexus-releases</id>
      <repositories>
        <repository>
          <id>nexus-releases</id>
          <url>http://10.3.87.5:8082/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>
  <activeProfiles>
   <activeProfile>aliyun</activeProfile>
   <activeProfile>nexus-releases</activeProfile>
   </activeProfiles>
</settings>

 注意:这里面配置了maven.compiler.source,当环境中有jdk1.8以下版本时用maven打包时会报jdk低版本的提示,需要统一打包时jdk的版本,因此需要在此指定

 

标签:repository,mirrors,仓库,配置,repositories,maven,mirrorOf,true
From: https://www.cnblogs.com/zhangs1986/p/17094040.html

相关文章

  • Linux系统怎么配置静态IP?
    使用虚拟机学习Linux可能对新手来说是最简单有效的方式,这里使用的软件是VirtualBox,对新手来说也是比较容易上手的一款软件。如何使用VirtualBox以及如何在VirtualBox......
  • 从0到1一步一步玩转openEuler--09 openEuler基础配置--设置日期和时间
    9设置日期和时间本节介绍如何通过timedatectl、date、hwclock命令来设置系统的日期、时间和时区等。9.1使用timedatectl命令设置9.1.1显示日期和时间显示当前的日期......
  • Nacos配置中心 (介绍与配置)
    Nacos配置中心当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。......
  • Java配置类
    需求通过java配置类实现一个数据库连接池。以前xml中是这样写的:<!--配置德鲁伊数据库连接池--><beanid="ds"class="com.alibaba.druid.pool.DruidDataSourc......
  • WIN10配置IIS
         ......
  • 使用配置类替代xml配置文件
    创建配置类packagecom.xxx.spring.config;importorg.springframework.context.annotation.ComponentScan;importorg.springframework.context.annotation.Configur......
  • Spring配置类理解(Lite模式和Full模式)
    Spring中的注解大家在开发中都常常用到,但是如果我说我们常常用的注解修饰了一个类,表示这个类就是一个配置类很多开发者都会有点迷糊了。具体配置类在开发中有什么样的用途......
  • 游戏服务器如何选择合适的服务器配置
    游戏服务器如何选择合适的服务器配置大家好,今天给大家分享一下游戏服务器配置的选择,为什么特别的说明一下服务器呢?服务器是决定服稳定性和安全性最重要的一个程序,如果是服务......
  • kafka配置详解
    关闭自动消费Spring-Boot-kafka的配置中有一个参数,提供了自动消费的功能。使用自动消费我们在收到消息的时候会自动向kafka确认消费。但是在一些特殊场景中我们可能需要使......
  • 当2个前端vue配置转发代理的端口都是一样的话,你电脑同时启动2个vue项目,第二个vue项目
    当2个前端vue配置转发代理的端口都是一样的话,你电脑同时启动2个vue项目,第二个vue项目的配置转发代理的端口会变第一个启动的vue项目    第二个启动的跟第一个vu......