it-roy-ru.com

Не удалось передать артефакт (https://repo.maven.Apache.org/maven2): получено фатальное предупреждение: protocol_version -> [Help 1]

Я новичок в Maven и пытаюсь настроить свой первый проект в Maven, но получаю следующее сообщение об ошибке, когда я выполняю «Запуск от имени -> Maven install» в Eclipse. Ниже мои настройки.xml и 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>

Сообщение об ошибке:

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 

23
SimbuStar

Sonatype больше не поддерживает TLSv1.1 и ниже (вступает в силу 18 июня 2018 г.). Я предполагаю, что вы используете протокол TLSv1.1 или ниже. 

Документация, которую я перечислил, дает вам 4 варианта:

  1. Обновите среду выполнения Java, например, с помощью сборок OpenJDK или платной поддержки Oracle
  2. Настройте среду выполнения Java для включения TLS 1.2, добавив -Dhttps.protocols = TLSv1.2
  3. Используйте менеджер репозитория, который использует версию Java, поддерживающую TLS 1.2
  4. Вернитесь к http, пока не сможете выполнить один из вышеуказанных шагов по исправлению.

Я сам исправил это, просто используя -Dhttps.protocols = TLSv1.2 в качестве аргумента VM .

55
Eric S

Для постоянного решения (в основном требуется в Java 7) - в каталоге сборки (из которого вы выполняете команду mvn) добавьте каталог:

.mvn (в cmd mkdir .mvn)

и в нем создай файл

jvm.config

и вставьте следующую строку:

-Dhttps.protocols=TLSv1.2

5
Yoav R.

Самое простое решение - настроить аргументы времени выполнения JVM. На Eclipse вы можете сделать это следующим образом:

зайдите в windows> настройки> Java> установленный JREsclick на Intalled JRE/JDK, который вы используете для своего проекта

щелкните «edit» справа от файла, и добавьте -Dhttps.protocols=TLSv1.2 в поле ввода аргументов по умолчанию VM.

посмотрите на скриншот:

Screenshot

3
Cyrano Dirac Djike Kemadjou

Я обновил Java 1.7 до Java 1.8 и получил ту же ошибку . Чтобы устранить эту ошибку, я проверил версию mvn с помощью mvn -version и обнаружил, что Java_HOME все еще использует Java 1.7. Я изменил Java_HOME в переменной среды, чтобы указать на Java 1.8 JRE в JDK

Надеюсь, это кому-нибудь поможет.

2
sa3036

Я установил свой файл settings.xml в каталог .m2, как показано здесь: https://github.com/alipay/sofa-rpc/pull/190/files

Затем exec mvn install и все зависимости начали загружаться. У меня ранее не было файла settings.xml, и я не использую прокси. Надеюсь, это кому-нибудь поможет. 

Оплаченный У меня JDK 1,7 и Maven 3.3,9

1
Georgina Diaz