Eclipse Installer:无法初始化加密机制

时间:2017-08-03 20:52:25

标签: java eclipse ssl

我的计算机上安装了OpenJDK 9,我正在尝试安装Eclipse。但是,每次启动安装程序时都会出错:

  

内部错误:   无法初始化加密机制

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

然后它给了我更新选项:

  

这是紧急更新:Contiune?

单击“是”后,将显示此错误:

  

无法初始化类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

最后,出现此消息:

  

JVM终止。退出代码= 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安装程序   --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?

2 个答案:

答案 0 :(得分:1)

我正在努力解决一个非常相似的问题,并找到了解决方案(你的问题有相同的原因,可以用同样的方法修复)。在使用JDK 9在Ubuntu 17.04上安装Eclipse后,我在启动时遇到以下错误:Loading available Gradle versions has encountered a problemDetails按钮显示此错误:

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

稍后您在使用Eclipse时可能会遇到相关错误。

正如我在looking very similar problem in docker之后发现的那样,问题出在Ubuntu 17.04 JDK安装(构建9-Ubuntu + 0-9b161-1),其中没有/conf目录。这应该在Ubuntu 17.10中的较新的JDK版本中修复。

到目前为止,您有2个选项可以自行解决此问题:

  1. (简单的方法,带有符号链接的fakes 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 / environment

  3. 中的此文件夹

答案 1 :(得分:0)

直接了解如何 configure Eclipse (Installer) for Java 9 download an Eclipse package ,而不是使用Eclipse安装程序。

相关问题