java - 无法传输 Artifact (https ://repo. maven.apache.org/maven2):收到致命警报:protocol_version -> [帮助 1]

标签 java maven

我是 Maven 新手,尝试在 Maven 中设置我的第一个项目,但是当我在 Eclipse 中执行“Run as -> Maven install”时收到以下错误消息。下面是我的 settings.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

如何解决收到的致命警报:protocol_version ?我的java版本是1.7,maven版本是3.3.3

最佳答案

Sonatype no longer supports TLSv1.1 and below (2018 年 6 月 18 日生效)。我的猜测是你使用的是 TLSv1.1 或更低的协议(protocol)。

我列出的文档为您提供了 4 个选项:

  1. 升级您的 Java 运行时,例如使用 OpenJDK 构建或 Oracle 付费支持
  2. 通过添加 -Dhttps.protocols=TLSv1.2 配置您的 Java 运行时以启用 TLS 1.2
  3. 使用支持 TLS 1.2 的 Java 版本的存储库管理器
  4. 恢复到 http,直到您可以完成上述补救步骤之一。

我自己修复了它,只使用 -Dhttps.protocols=TLSv1.2 作为 VM 参数。

关于java - 无法传输 Artifact (https ://repo. maven.apache.org/maven2):收到致命警报:protocol_version -> [帮助 1],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50946420/

相关文章:

java - hashmap.get() 的拆箱会产生 NullPointerException

android - 如何将托管在 github 上的项目添加到 android studio gradle 依赖项? Pom.xml 可用

java - 我想在我的 Android 项目中使用 TuProlog

java - 谷歌云存储 : open browser when create Storage

java - 为每个应用程序创建的每个jvm,这是一个线程还是一个进程

java - 如何限制Android应用程序只在某个时间段运行?

spring - 无法在STS中创建spring-mvc项目

java - Maven 构建中的依赖冲突检查

maven - 如何将第三方 jar 添加到 Maven 中心

java - 使用 Stripe 时 Maven 编译错误 : Cannot find symbol APIException, APIConnectionException