2017-08-03 134 views
2

我的電腦上安裝了OpenJDK 9,我試圖安裝Eclipse。然而,每次我得到一個錯誤,我啓動安裝程序:Eclipse安裝程序:無法初始化加密機制

Internal Error: Cannot initialize cryptographic mechanism

Details: java.lang.ExceptionInInitializerError 
at java.base/javax.crypto.JceSecurityManager.<clinit>(JceSecurityManager.java:66) 
at java.base/javax.crypto.Cipher.getConfiguredPermission(Cipher.java:2610) 
at java.base/javax.crypto.Cipher.getMaxAllowedKeyLength(Cipher.java:2634) 
at java.base/sun.security.ssl.CipherSuite$BulkCipher.isUnlimited(CipherSuite.java:602) 
at java.base/sun.security.ssl.CipherSuite$BulkCipher.<init>(CipherSuite.java:574) 
at java.base/sun.security.ssl.CipherSuite$BulkCipher.<clinit>(CipherSuite.java:460) 
at java.base/sun.security.ssl.CipherSuite.<clinit>(CipherSuite.java:1074) 
at java.base/sun.security.ssl.SSLContextImpl.getApplicableSupportedCipherSuiteList(SSLContextImpl.java:354) 
at java.base/sun.security.ssl.SSLContextImpl.access$100(SSLContextImpl.java:42) 
at java.base/sun.security.ssl.SSLContextImpl$AbstractTLSContext.<clinit>(SSLContextImpl.java:590) 
at java.base/java.lang.Class.forName0(Native Method) 
at java.base/java.lang.Class.forName(Class.java:292) 
at java.base/java.security.Provider$Service.getImplClass(Provider.java:1844) 
at java.base/java.security.Provider$Service.newInstance(Provider.java:1820) 
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:236) 
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:164) 
at java.base/javax.net.ssl.SSLContext.getInstance(SSLContext.java:169) 
at java.base/javax.net.ssl.SSLContext.getDefault(SSLContext.java:99) 
at org.apache.http.conn.ssl.SSLContexts.createSystemDefault(SSLContexts.java:78) 
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransferFactory.newInstance(HttpClientRetrieveFileTransferFactory.java:27) 
at org.eclipse.ecf.internal.provider.filetransfer.Activator.getFileTransfer(Activator.java:608) 
at org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocolRetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAdapter.java:92) 
at org.eclipse.oomph.setup.internal.core.util.ECFURIHandlerImpl$InputStreamConnectionHandler.sendConnectionRequest(ECFURIHandlerImpl.java:1641) 
at org.eclipse.oomph.setup.internal.core.util.ECFURIHandlerImpl$ConnectionHandler.process(ECFURIHandlerImpl.java:1392) 
at org.eclipse.oomph.setup.internal.core.util.ECFURIHandlerImpl.createInputStream(ECFURIHandlerImpl.java:303) 
at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createInputStream(ExtensibleURIConverterImpl.java:360) 
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1269) 
at org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil.handleArchiveRedirection(SetupCoreUtil.java:549) 
at org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil.configureResourceSet(SetupCoreUtil.java:348) 
at org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil.configureResourceSet(SetupCoreUtil.java:174) 
at org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil.createResourceSet(SetupCoreUtil.java:168) 
at org.eclipse.oomph.setup.ui.wizards.SetupWizard.<init>(SetupWizard.java:167) 
at org.eclipse.oomph.setup.ui.wizards.SetupWizard.<init>(SetupWizard.java:159) 
at org.eclipse.oomph.setup.internal.installer.Installer.<init>(Installer.java:40) 
at org.eclipse.oomph.setup.internal.installer.InstallerApplication.run(InstallerApplication.java:222) 
at org.eclipse.oomph.setup.internal.installer.InstallerApplication.start(InstallerApplication.java:408) 
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243) 
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.base/java.lang.reflect.Method.invoke(Method.java:547) 
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1499) 
at org.eclipse.equinox.launcher.Main.main(Main.java:1472) 
Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism 
at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:118) 
... 49 more 
Caused by: java.lang.SecurityException: Can't read cryptographic policy directory: unlimited 
at java.base/javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:324) 
at java.base/javax.crypto.JceSecurity.access$000(JceSecurity.java:73) 
at java.base/javax.crypto.JceSecurity$1.run(JceSecurity.java:109) 
at java.base/javax.crypto.JceSecurity$1.run(JceSecurity.java:106) 
at java.base/java.security.AccessController.doPrivileged(Native Method) 
at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:105) 
... 49 more 

然後,它給我的選項更新:

This is an emergency update: Contiune?

單擊是後,出現此錯誤:

Could not initialize class sun.security.ssl.SSLContextImpl$DefaultSSLContext

Details: java.lang.reflect.InvocationTargetException 
at org.eclipse.oomph.setup.internal.installer.InstallerApplication$6$2.run(InstallerApplication.java:484) 
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119) 
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.security.ssl.SSLContextImpl$DefaultSSLContext 
at java.base/java.lang.Class.forName0(Native Method) 
at java.base/java.lang.Class.forName(Class.java:292) 
at java.base/java.security.Provider$Service.getImplClass(Provider.java:1844) 
at java.base/java.security.Provider$Service.newInstance(Provider.java:1820) 
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:236) 
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:164) 
at java.base/javax.net.ssl.SSLContext.getInstance(SSLContext.java:169) 
at java.base/javax.net.ssl.SSLContext.getDefault(SSLContext.java:99) 
at org.apache.http.conn.ssl.SSLContexts.createSystemDefault(SSLContexts.java:78) 
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransferFactory.newInstance(HttpClientRetrieveFileTransferFactory.java:27) 
at org.eclipse.ecf.internal.provider.filetransfer.Activator.getFileTransfer(Activator.java:608) 
at org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocolRetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAdapter.java:92) 
at org.eclipse.oomph.setup.internal.core.util.ECFURIHandlerImpl$InputStreamConnectionHandler.sendConnectionRequest(ECFURIHandlerImpl.java:1641) 
at org.eclipse.oomph.setup.internal.core.util.ECFURIHandlerImpl$ConnectionHandler.process(ECFURIHandlerImpl.java:1392) 
at org.eclipse.oomph.setup.internal.core.util.ECFURIHandlerImpl.createInputStream(ECFURIHandlerImpl.java:303) 
at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createInputStream(ExtensibleURIConverterImpl.java:360) 
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1269) 
at org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil.handleArchiveRedirection(SetupCoreUtil.java:549) 
at org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil.configureResourceSet(SetupCoreUtil.java:348) 
at org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil.configureResourceSet(SetupCoreUtil.java:174) 
at org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil.createResourceSet(SetupCoreUtil.java:168) 
at org.eclipse.oomph.setup.ui.SelfCommitContext.changeRepositoryIfNeeded(SelfCommitContext.java:113) 
at org.eclipse.oomph.setup.ui.SelfCommitContext.migrateProfile(SelfCommitContext.java:80) 
at org.eclipse.oomph.setup.internal.installer.SelfUpdate.resolve(SelfUpdate.java:127) 
at org.eclipse.oomph.setup.internal.installer.InstallerApplication$6$2.run(InstallerApplication.java:465) 
... 1 more 

最後,顯示此消息s:

JVM terminated. Exit code=1 /usr/bin/java -Xms256M -Xmx1024M -jar /home/george/Downloads/eclipse-installer//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher /home/george/Downloads/eclipse-installer/eclipse-inst -name Eclipse Installer --launcher.library /home/george/Downloads/eclipse-installer//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.500.v20170531-1133/eclipse_1624.so -startup /home/george/Downloads/eclipse-installer//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar --launcher.appendVmargs -exitdata 770005 -data @noDefault -vm /usr/bin/java -vmargs -Xms256M -Xmx1024M -jar /home/george/Downloads/eclipse-installer//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar

有什麼辦法解決這個問題,我可以安裝eclipse嗎?

+0

這不會發生有[任何與泊塢窗](https://github.com/docker-library/openjdk/issues/101) ,會嗎? –

+0

相反,它是一臺Debian機器嗎? [這是一個錯誤](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866924)。 –

+0

我沒有安裝docker(至少我沒有意識到),而且我目前正在運行Kubuntu 17.04。 –

回答

1

我一直在與一個非常類似的問題掙扎,並找到了解決方案(您的問題有同樣的原因,可以用相同的方法修復)。與JDK 9在Ubuntu 17.04安裝Eclipse之後,我得到了在啓動時出現以下錯誤:與Eclipse工作時

An internal error occurred during: "Loading available Gradle versions". 
Could not initialize class sun.security.ssl.SSLContextImpl$DefaultSSLContext 

以後可以得到相關的錯誤:Loading available Gradle versions has encountered a problemDetails按鈕顯示此錯誤。

正如我在looking very similar problem in docker之後發現的,問題出在Ubuntu 17.04 JDK安裝(build 9-Ubuntu + 0-9b161-1),其中沒有/conf目錄。這應該在Ubuntu 17.10中更新的JDK版本中修復。

到目前爲止,您有2個選項來解決這個自己:

  1. (簡單的方法,假貨conf目錄用符號鏈接):內JDK創建符號鏈接9目錄(對我來說是/usr/lib/jvm/default-java)用下面的命令: sudo ln -sn lib conf 由於安全策略文件位於/ lib下,因此解決了此問題。

  2. (更復雜,通過在適當/ conf目錄中安裝替代JDK來解決問題):從Oracle下載JDK 9並安裝到某個任意文件夾;然後將此文件夾添加到PATH(例如在.bashrc中);然後更改JAVA_HOME到這個文件夾中的/ etc /環境

相關問題