java 证书错误_Ubuntu 17.10 Java 8证书错误

我有一个全新安装的Ubuntu 17.10,我在其上安装了包oracle-java8-installer(来自PPA).

但是,当我尝试使用“ionic cordova build android”编译离子项目时,它会抛出此错误:

Exception in thread "main"

javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)

at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959)

at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1916)

at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1899)

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1420)

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)

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.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)

at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)

at org.gradle.wrapper.Download.downloadInternal(Download.java:60)

at org.gradle.wrapper.Download.download(Download.java:45)

at org.gradle.wrapper.Install$1.call(Install.java:62)

at org.gradle.wrapper.Install$1.call(Install.java:48)

at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)

at org.gradle.wrapper.Install.createDist(Install.java:48)

at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)

at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

at sun.security.validator.PKIXValidator.(PKIXValidator.java:91)

at sun.security.validator.Validator.getInstance(Validator.java:179)

at sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:312)

at sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.java:171)

at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:184)

at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)

at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496)

at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)

at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)

at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)

at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072)

at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)

... 14 more

Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200)

at java.security.cert.PKIXParameters.(PKIXParameters.java:120)

at java.security.cert.PKIXBuilderParameters.

(PKIXBuilderParameters.java:104)

at sun.security.validator.PKIXValidator.(PKIXValidator.java:89)

... 26 more

我连接到互联网,我试图:

$sudo update-ca-certificates -f

$sudo apt install --reinstall ca-certificates-java

…并重新安装npm,ionic,java和gradle,都没有成功.

编辑:我还在.bashrc中导出了ANDROID_HOME和JAVA_HOME,并安装了Android Studio.我试图在不同的机器上构建项目,它工作正常.我无法尝试使用OpenJDK,因为它与Android Studio不兼容.

解决方法:

尝试

sudo dpkg --purge --force-depends ca-certificates-java

其次是

sudo apt-get install ca-certificates-java

为了得到破碎的cacerts固定.对我来说,这就解决了.祝你好运!

标签:java,compiling,17-10

来源: https://codeday.me/bug/20190808/1619943.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值