收到致命警报:protocol_version 构建失败 Gradle/Maven
Received fatal alert: protocol_version build failure Gradle/Maven
我的一个项目的构建开始失败,出现以下异常
> Could not resolve org.slf4j:slf4j-api:[1.6.1,).
> Failed to list versions for org.slf4j:slf4j-api.
> Unable to load Maven meta-data from https://repo1.maven.org/maven2/org/slf4j/slf4j-api/maven-metadata.xml.
> Could not GET 'https://repo1.maven.org/maven2/org/slf4j/slf4j-api/maven-metadata.xml'.
> Received fatal alert: protocol_version
环境:
- Java 7
- Gradle 3.5
Maven Central 和 Bintray 宣布他们将停止支持 TLS v1.1 及以下版本。
如果您使用 Java 6 或 7 并使用 Gradle 版本 2.1 到 4.8,您将受到影响。
GRADLE:
检查gradle版本
gradle --version
如果所有这些都是真的,您必须采取行动:
- JVM 版本为 Java 7u130 或更低且
- Gradle版本介于2.1和4.8之间,含
- 并且您已经声明了 mavenCentral() 或 jcenter()
的存储库 {}
您可以采取以下任一操作来使用 TLS v1.2+:
- 运行 Gradle 与 Java 1.7.0_131-b31 或更高版本
- 或升级至Gradle4.8.1或以上
- 或者用 maven { url = 替换 mavenCentral()
“http://repo.maven.apache.org/maven2”} 和 jcenter() 与 maven {
url = "http://jcenter.bintray.com" }
推荐前两个解决方案,因为第三个打开了一个可能的攻击向量。
Maven:
如果您使用 Maven 使用下面给出的命令
mvn -Dhttps.protocols=TLSv1.2 install
如果您遇到与 pom.xml 类似的问题 - 请尽可能将 maven-compiler-plugin 源和目标版本更新为 1.8。
IBM JDK
如果您使用的是 IBM IDK,则需要设置以下 JVM 参数。
com.ibm.jsse2.overrideDefaultProtocol=SSL_TLSv2.
所以,在日食中 IDE,
打开'Run->Run Configurations';展开 'Gradle Project' 和 select 运行 配置(构建)
设置JVM参数如下
set jvm argument
我的一个项目的构建开始失败,出现以下异常
> Could not resolve org.slf4j:slf4j-api:[1.6.1,).
> Failed to list versions for org.slf4j:slf4j-api.
> Unable to load Maven meta-data from https://repo1.maven.org/maven2/org/slf4j/slf4j-api/maven-metadata.xml.
> Could not GET 'https://repo1.maven.org/maven2/org/slf4j/slf4j-api/maven-metadata.xml'.
> Received fatal alert: protocol_version
环境:
- Java 7
- Gradle 3.5
Maven Central 和 Bintray 宣布他们将停止支持 TLS v1.1 及以下版本。 如果您使用 Java 6 或 7 并使用 Gradle 版本 2.1 到 4.8,您将受到影响。
GRADLE:
检查gradle版本
gradle --version
如果所有这些都是真的,您必须采取行动:
- JVM 版本为 Java 7u130 或更低且
- Gradle版本介于2.1和4.8之间,含
- 并且您已经声明了 mavenCentral() 或 jcenter() 的存储库 {}
您可以采取以下任一操作来使用 TLS v1.2+:
- 运行 Gradle 与 Java 1.7.0_131-b31 或更高版本
- 或升级至Gradle4.8.1或以上
- 或者用 maven { url = 替换 mavenCentral() “http://repo.maven.apache.org/maven2”} 和 jcenter() 与 maven { url = "http://jcenter.bintray.com" }
推荐前两个解决方案,因为第三个打开了一个可能的攻击向量。
Maven:
如果您使用 Maven 使用下面给出的命令
mvn -Dhttps.protocols=TLSv1.2 install
如果您遇到与 pom.xml 类似的问题 - 请尽可能将 maven-compiler-plugin 源和目标版本更新为 1.8。
IBM JDK
如果您使用的是 IBM IDK,则需要设置以下 JVM 参数。
com.ibm.jsse2.overrideDefaultProtocol=SSL_TLSv2.
所以,在日食中 IDE,
打开'Run->Run Configurations';展开 'Gradle Project' 和 select 运行 配置(构建)
设置JVM参数如下 set jvm argument