![](/img/trans.png)
[英]Received fatal alert: protocol_version to https://repo.maven.apache.org/maven2/ in IBM Rational Software Architect for Java6 Maven install
[英]Could not transfer artifact (https://repo.maven.apache.org/maven2): Received fatal alert: protocol_version -> [Help 1]
我是 Maven 的新手,尝试在 Maven 中设置我的第一个项目,但是当我在 Eclipse 中执行“Run as -> Maven install”时收到以下错误消息。下面是我的设置。xml 和 pom.xml
设置.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>
错误信息:
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
如何解决 Received fatal alert: protocol_version? 我的java版本是1.7,maven版本是3.3.3
Sonatype 不再支持 TLSv1.1 及更低版本(2018 年 6 月 18 日生效)。 我的猜测是您使用的是 TLSv1.1 或以下协议。
我列出的文档为您提供了 4 个选项:
我自己通过使用 -Dhttps.protocols=TLSv1.2 作为 VM 参数来修复它。
对于永久解决方案(在 Java 7 中主要需要) - 在您构建目录(从中执行mvn
命令的位置)中添加目录:
.mvn
(在 cmd mkdir .mvn
)
并在其中创建文件
jvm.config
并输入以下行:
-Dhttps.protocols=TLSv1.2
最简单的解决方案是配置 JVM 运行时参数。 在日食上,您可以按以下方式进行:
转到 windows>preferences>java>installed JREs 单击您用于项目的 Intalled JRE/JDK
单击右侧的“编辑”,然后在默认 VM 参数输入字段中添加-Dhttps.protocols=TLSv1.2
。
看截图:
您尝试安装的包不支持 TLS1.1 ,您可能默认使用 TLS 1.1。 通过将-Dhttps.protocols=TLSv1.2
添加到您的 Maven Build 命令来配置您的 Java 运行时以启用 TLS 1.2 将解决该问题。
例如: mvn clean install -Dhttps.protocols=TLSv1.2
我已经从 Java 1.7 升级到 Java 1.8 并遇到了同样的错误。 为了解决这个错误,我使用mvn -version
检查了 mvn 版本,发现 JAVA_HOME 仍在使用 Java 1.7。 我将环境变量中的 JAVA_HOME 更改为指向 JDK 中的 Java 1.8 jre
希望这可以帮助某人。
我在 .m2 目录中设置了我的settings.xml文件,就像这里的一样: https : //github.com/alipay/sofa-rpc/pull/190/files
然后 exec mvn install
和所有依赖项开始下载。 我以前没有 settings.xml 文件,我没有使用任何代理。 希望它可以帮助某人。
PD。 我有 jdk 1.7 和 Maven 3.3.9
它同时需要:配置 JVM 运行时参数以及具有 settings.xml,在我完成这两项工作之后。 仅更新 JVM 运行时参数没有帮助。
我通过在位于C
驱动器的 Users 文件夹中的.m2
文件夹中添加settings.xml
文件并通过右键单击pom.xml -> Maeven -> Update Project
来更新 Project 解决了SpringToolSuit 中的这个错误。
确保选择 Force update of snapshots/releases
。
就我而言,在 Eclipse 中禁用了 Maven 依赖项的自动更新。
解决方案:
转到 Windows-> 首选项-> Maven
并取消选中复选框
“不要自动更新远程存储库的依赖项”
然后更新项目
右键单击项目-> maven-> 更新项目
我遇到了同样的问题,我在这里尝试了大部分答案,但仍然无效。 我的问题是我的 IDE 上的代理设置。 所以记住检查代理设置也很重要。 文件 > 设置 > 系统设置 > HTTP 代理 - 选择自动检测代理设置
在我的新笔记本电脑 (Win10) 上,我降级了 maven 3.8.7->3.6.3 和 jdk 19->1.8 Maven 3.8.7 阻止了很多旧存储库,有时确实需要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.