¿El repositorio múltiple de configuración de Maven no es válido? Mira este articulo

Cuando se usa Maven para administrar dependencias de paquetes jar en un proyecto, a menudo ocurren las siguientes situaciones:

1. La duplicación central remota predeterminada del acceso doméstico a maven es particularmente lenta;

2. Utilice la duplicación de Ali en lugar de la duplicación central remota;

3. Faltan algunos paquetes jar en la imagen de Alibaba Cloud;

4. Utilice tanto almacenes privados como almacenes públicos al mismo tiempo;

En vista de la situación anterior, debemos permitir que Maven admita la configuración de múltiples repositorios.

Configuración de almacén independiente

Cuando solo se configura un almacén, la operación es relativamente simple. Puede configurar directamente la configuración global en el archivo settings.xml de Maven. Tome la imagen de Alibaba Cloud como ejemplo:

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

Simplemente agregue una configuración de espejo. Para lograr un único almacén, configure mirrorOf en *.

El asterisco configurado en mirrorOf significa coincidir con todos los artefactos, es decir, todo usa la dirección proxy aquí. El mirrorOf anterior está configurado con un nombre específico, que se refiere al nombre del repositorio.

Instrucciones de configuración del espejo:

1. id: la identificación única de la imagen;

2. nombre: descripción del nombre;

3. url: dirección;

4. MirrorOf: especifique las reglas de duplicación y en qué circunstancias se extraerá del almacén de duplicaciones. Entre ellos,
*: coincide con todos, todo el contenido se extrae del espejo;

externo: *: Todos extraídos del almacén espejo excepto el caché local;

repo, repo1: repo o repo1, donde repo se refiere al ID del almacén;

*,! repo1: todos los repositorios excepto repo1;

Configuración de varios almacenes

Entonces, ¿es suficiente configurar algunos espejos más para la configuración de múltiples almacenes? Esta configuración no tendrá efecto.

La operación correcta es configurar múltiples perfiles bajo el nodo de perfiles y activarlos después de la configuración.

<profiles>
    <profile>
      <id>boundlessgeo</id> 
      <repositories>
        <repository>
          <id>boundlessgeo</id> 
          <url>https://repo.boundlessgeo.com/main/</url> 
          <releases>
            <enabled>true</enabled>
          </releases> 
          <snapshots>
            <enabled>true</enabled> 
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>aliyun</id> 
      <repositories>
        <repository>
          <id>aliyun</id> 
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
          <releases>
            <enabled>true</enabled>
          </releases> 
          <snapshots>
            <enabled>true</enabled> 
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile> 
    <profile>
      <id>maven-central</id> 
      <repositories>
        <repository>
          <id>maven-central</id> 
          <url>http://central.maven.org/maven2/</url> 
          <releases>
            <enabled>true</enabled>
          </releases> 
          <snapshots>
            <enabled>true</enabled> 
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
<profiles>

Actívelo configurando el subnodo activeProfiles:

<activeProfiles>
    <activeProfile>boundlessgeo</activeProfile>
    <activeProfile>aliyun</activeProfile>
    <activeProfile>maven-central</activeProfile>
</activeProfiles>

En este momento, si usa la configuración local de Maven en Idea, verá la opción de perfil similar a la siguiente figura en la gestión de Maven del proyecto.

imagen

Al empaquetar, verifique el perfil utilizado. Si usa el comando Maven para empaquetar y ejecutar el formato del comando de la siguiente manera:

mvn -Paliyun ...

1. Si la identificación del almacén de aliyun se establece en central, anulará el almacén remoto predeterminado en maven.

2. El almacén Aliyun también se puede configurar sin configuración, configurar directamente un almacén espejo en la pestaña espejos y establecer el valor de mirrorOf en central para anular el almacén predeterminado.

Configurar la duplicación en el proyecto

La adición de varios almacenes al proyecto se logra modificando el archivo pom en el proyecto.

Idea: Agregue varios nodos de repositorio debajo del nodo de repositorio del archivo pom en el proyecto (si no se agregó manualmente) Cada nodo de repositorio es un almacén.

El efecto de configuración es el siguiente:

<!-- 特殊maven仓库 -->
<repositories>
    <repository>
        <id>central-repo1</id>
        <name>Maven Repository Switchboard</name>
        <url>http://repo1.maven.org/maven2/</url>
        <layout>default</layout>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>

El ID aquí es el ID que utilizará mirrorOf.

En el curso de la práctica, se encuentra que la configuración del almacén por sí sola no surtirá efecto. Es necesario definir una configuración de almacén con mirrorOf como central-repo1 en el setting.xml al mismo tiempo, que se compara con el id de la configuración.

La configuración de control en setting.xml es la siguiente:

<mirror>
    <id>central</id>
    <name>Maven Repository Switchboard</name>
    <url>https://repo1.maven.org/maven2/</url>
    <mirrorOf>central-repo1</mirrorOf>
</mirror>

Un espejo doméstico que vale la pena coleccionar.

<mirrors>
     <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/mvn/view</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>jboss-public-repository-group</id>
        <mirrorOf>central</mirrorOf>
        <name>JBoss Public Repository Group</name>
        <url>http://repository.jboss.org/nexus/content/groups/public</url>
    </mirror>
    <mirror>
        <id>ibiblio</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>https://maven.aliyun.com/mvn/view</url>
    </mirror>
    <mirror>
        <id>central</id>
        <name>Maven Repository Switchboard</name>
        <url>http://repo1.maven.org/maven2/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>repo2</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo2.maven.org/maven2/</url>
    </mirror>
</mirrors>

Enlace original: "¿La configuración del repositorio múltiple de Maven no es válida? Eche un vistazo al artículo "

Video tutorial de Fine SpringBoot 2.x

"Spring Boot 2.x Video Tutorial Family Bucket" , un video tutorial boutique de Spring Boot 2.x, para crear el conjunto más completo de videos tutoriales de Spring Boot 2.x.


Nueva visión del procedimiento

La cuenta pública " Nueva Visión del Programa ", una plataforma que le permite mejorar simultáneamente su poder blando y su tecnología dura, proporcionando cantidades masivas de datos.

Cuenta oficial de WeChat: nueva visión del programa

Supongo que te gusta

Origin blog.csdn.net/wo541075754/article/details/107782973
Recomendado
Clasificación