web-dev-qa-db-fra.com

Impossible de transférer l'artefact (https://repo.maven.Apache.org/maven2): Alerte irrécupérable reçue: version_protocole -> [Aide 1]

Je suis nouveau sur Maven et j'essaie de configurer mon premier projet dans Maven mais je reçois le message d'erreur ci-dessous lorsque je suis en train de "Exécuter en tant que -> Maven installer" dans Eclipse. Ci-dessous, mes settings.xml et pom.xml

Settings.xml

    <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
                      https://maven.Apache.org/xsd/settings-1.0.0.xsd">
 <localRepository>C:\Users\Iam\.m2\repository</localRepository>
  <profiles>
    <profile>
      <repositories>
    <repository>
        <id>central</id>
        <url>http://central.maven.org/maven2/</url>
        </repository>
    </repositories>
      <pluginRepositories>
      </pluginRepositories>
    </profile>
  </profiles>
</settings>

POM.XML

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
  <groupId>com.mytest</groupId> 
  <artifactId>MySpringBootMaven</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.11.RELEASE</version>
    </parent>


<build>
    <plugins>

      <plugin>
        <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>


        <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.5</version><!--$NO-MVN-MAN-VER$-->
                <configuration>
                    <warnName>Test.war</warnName>
                </configuration>
            </plugin>
    </plugins>

</build>
</project>

Message d'erreur:

at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:356)
Caused by: org.Eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.springframework.boot:spring-boot-maven-plugin:jar:1.5.11.RELEASE
    at org.Apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.Java:302)
    at org.Apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.Java:218)
    at org.Eclipse.aether.internal.impl.DefaultRepositorySystem.readArtifactDescriptor(DefaultRepositorySystem.Java:287)
    at org.Apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve(DefaultPluginDependenciesResolver.Java:103)
    ... 27 more
Caused by: org.Eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact org.springframework.boot:spring-boot-maven-plugin:pom:1.5.11.RELEASE from/to central (https://repo.maven.Apache.org/maven2): Received fatal alert: protocol_version
    at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.Java:444)
    at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.Java:246)
    at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.Java:223)
    at org.Apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.Java:287)
    ... 30 more
Caused by: org.Eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact org.springframework.boot:spring-boot-maven-plugin:pom:1.5.11.RELEASE from/to central (https://repo.maven.Apache.org/maven2): Received fatal alert: protocol_version

Comment résoudre l'alerte fatale reçue: version_protocole? Ma version Java est 1.7 et la version maven est 3.3.3 

23
SimbuStar

Sonatype ne prend plus en charge les versions TLSv1.1 et inférieure (à partir du 18 juin 2018). Je suppose que vous utilisez le protocole TLSv1.1 ou une version antérieure. 

La documentation que j'ai énumérée vous donne 4 options:

  1. Mettez à niveau votre environnement d'exécution Java, par exemple avec les versions OpenJDK ou le support payant Oracle
  2. Configurez votre environnement d'exécution Java pour activer TLS 1.2 en ajoutant -Dhttps.protocols = TLSv1.2
  3. Utiliser un gestionnaire de référentiel utilisant une version de Java prenant en charge TLS 1.2
  4. Revenez à http jusqu'à ce que vous puissiez effectuer l'une des étapes de correction ci-dessus.

Je l'ai résolu moi-même en utilisant simplement -Dhttps.protocols = TLSv1.2 comme argument VM .

55
Eric S

Pour une solution permanente (généralement requise dans Java 7) - dans votre répertoire de construction (où vous effectuez la commande mvn à partir de), ajoutez le répertoire

.mvn (en cmd mkdir .mvn)

et créer un fichier

jvm.config

et en mettre la ligne suivante:

-Dhttps.protocols=TLSv1.2

5
Yoav R.

La solution la plus simple consiste à configurer les arguments d'exécution de votre machine virtuelle Java. Sur Eclipse, vous pouvez le faire comme suit:

allez à windows> preferences> Java> JRE installés cliquez sur le JRE/JDK intégré que vous utilisez pour votre projet

cliquez sur "edit" à droite, et ajoutez -Dhttps.protocols=TLSv1.2 dans le champ de saisie des arguments par défaut VM.

voir la capture d'écran:

Screenshot

J'avais mis à niveau de Java 1.7 à Java 1.8 et obtenu la même erreur . Pour résoudre cette erreur, j'ai vérifié la version de MVN à l'aide de mvn -version et constaté que Java_HOME utilisait toujours Java 1.7. J'ai changé Java_HOME dans la variable d'environnement pour pointer sur Java 1.8 jre dans JDK

J'espère que ça aide quelqu'un.

2
sa3036

Je place mon fichier settings.xml dans le répertoire .m2 comme celui-ci: https://github.com/alipay/sofa-rpc/pull/190/files

Puis exec mvn install et toutes les dépendances ont commencé à se télécharger. Je n'ai jamais eu de fichier settings.xml et je n'utilise aucun proxy. J'espère que ça aide quelqu'un. 

PD. J'ai jdk 1.7 et Maven 3.3.9

1
Georgina Diaz