无法传输工件(https://repo.maven.apache.org/maven2):收到致命警报:protocol_version – >
我是Maven的新手,并尝试在Maven中设置我的第一个项目,但是当我在Eclipse中执行“Run as – > Maven install”时收到以下错误消息。 下面是我的settings.xml和pom.xml
将Settings.xml
C:\Users\Iam\.m2\repository central http://central.maven.org/maven2/
的pom.xml
4.0.0 com.mytest MySpringBootMaven war 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-parent 1.5.11.RELEASE org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-war-plugin 2.5 Test.war
错误信息:
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致命警报:protocol_version? 我的java版本是1.7,maven版本是3.3.3
Sonatype 不再支持TLSv1.1及更低版本 (生效日期为2018年6月18日)。 我的猜测是你正在使用TLSv1.1协议或以下。
我列出的文档为您提供了4个选项:
- 升级Java运行时,例如使用OpenJDK构建或Oracle支持
- 通过添加-Dhttps.protocols = TLSv1.2来配置Java运行时以启用TLS 1.2
- 使用使用支持TLS 1.2的Java版本的存储库管理器
- 恢复为http,直到您可以执行上述修复步骤之一。
我通过使用-Dhttps.protocols = TLSv1.2作为VM参数来自行修复它。
最简单的解决方案是配置JVM运行时参数。 在eclipse上,你可以这样做:
转到Windows>首选项> java>已安装的JRE单击您用于项目的Intalled JRE / JDK
单击右侧的“编辑”,并在默认VM参数输入字段中添加-Dhttps.protocols=TLSv1.2
。
看截图:
我在.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
对于永久解决方案(在Java 7中大多需要) – 在构建目录(从中执行mvn
命令)中添加目录:
.mvn
(cmd mkdir .mvn
)
并在其中创建文件
jvm.config
并列出以下行:
-Dhttps.protocols=TLSv1.2