gpt4 book ai didi

java - 为什么我得到 javax.net.ssl.SSLException : Received fatal alert: protocol_version for ant?

转载 作者:太空宇宙 更新时间:2023-11-03 13:00:14 44 4
gpt4 key购买 nike

我在 2018 年 6 月之后收到此错误:

javax.net.ssl.SSLException: Received fatal alert: protocol_version
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1979)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1086)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1359)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1343)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
at org.apache.tools.ant.taskdefs.Get$GetThread.openConnection(Get.java:731)
at org.apache.tools.ant.taskdefs.Get$GetThread.get(Get.java:652)
at org.apache.tools.ant.taskdefs.Get$GetThread.run(Get.java:642)

最佳答案

原因是 ant 从 Maven Central 下载了一些 Artifact ,例如使用 ivy 插件。Java 7 默认使用旧的 TLS 协议(protocol)版本。2018 年 6 月,与 Maven Central 的 SSL 连接将不再支持 TLS 1.0 和 1.1 协议(protocol)。

Why am I getting "Received fatal alert: protocol_version" or "peer not authenticated" from Maven Central?

通过将 TLS 版本指定为 java 系统属性,至少对于 Java 7 可以解决此问题。

所有示例都运行一个默认的 ant 任务。

适用于 Windows

java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher

适用于 Linux

java -Dhttps.protocols=TLSv1.2 -cp ${ANT_HOME}/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher

需要将 ANT_HOME 作为系统变量或指定 ant 库的完整路径(c:/ant/ — 是 ant安装)。

java -Dhttps.protocols=TLSv1.2 -cp c:/ant/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher

更新 Java 7 版本

也可以通过更新 Java 7 版本来解决问题。但最后一个可用版本 (7u80) 并未解决该问题。需要使用 Oracle Advanced Support(以前称为 Java for Business)提供的更新。

关于java - 为什么我得到 javax.net.ssl.SSLException : Received fatal alert: protocol_version for ant?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51244115/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com