./gradlew因NoSuchAlgorithmException而失败

时间:2016-05-26 15:22:45

标签: java macos ssl gradle

在将现有代码库克隆到OSX盒子上之后,第一次运行./gradlew是一个错误。

有问题的包装器提供以下输出(在另一个系统上)

 ./gradlew -v

------------------------------------------------------------
Gradle 2.12
------------------------------------------------------------

Build time:   2016-03-14 08:32:03 UTC
Build number: none
Revision:     b29fbb64ad6b068cb3f05f7e40dc670472129bc0

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_92 (Oracle Corporation 25.92-b14)
OS:           Mac OS X 10.10.5 x86_64

例外是:

Exception in thread "main" java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
  at javax.net.ssl.DefaultSSLSocketFactory.throwException(SSLSocketFactory.java:198)
  at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:205)
  at sun.net.www.protocol.https.HttpsClient.createSocket(HttpsClient.java:409)
  at sun.net.NetworkClient.doConnect(NetworkClient.java:162)

失败的OSX框位于公司网络中,但不在代理后面。它正在运行El Capitan 10.11.5 beta(15F31a)并且有java版本1.7.0_79和1.8.0_45(两者都失败)

Java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

我是否需要升级java,在系统的某处安装新的证书,补丁gradlew ......?我不知道从哪里开始。互联网目前不包含对此问题的建议,这些建议不会导致我死链接。

的文件
  

$ JAVS_HOME / JRE / lib / security中

是2014年破损系统,上个月是非破损系统。

1 个答案:

答案 0 :(得分:1)

我们遇到了同样的问题。不确定它是否与根本原因相同,但似乎与Java运行时版本有关。

% java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

更新至1.8.0_66:问题已解决。