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
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:
Je l'ai résolu moi-même en utilisant simplement -Dhttps.protocols = TLSv1.2 comme argument VM .
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
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:
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.
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