【发布时间】:2021-05-16 22:42:09
【问题描述】:
与eclipse有关,因为我可以在cmd中成功运行代码。 我在 Windows 10 上使用标准 oracle Java 版本 15 和 eclipse 版本 2020-12(4.18.0)
HttpURLConnection httpUrlConnection = (HttpURLConnection)url.openConnection();
在上面的行中,我收到如下粘贴的错误。
请注意:System.out.println(System.getProperty("java.security.properties")); 给出 null
线程“main”中的异常 java.lang.ExceptionInInitializerError 在 java.base/javax.crypto.Cipher.getInstance(未知来源) 在 java.base/sun.security.ssl.SSLCipher.isTransformationAvailable(未知来源) 在 java.base/sun.security.ssl.SSLCipher.(未知来源) 在 java.base/sun.security.ssl.SSLCipher.(未知来源) 在 java.base/sun.security.ssl.CipherSuite.(未知来源) 在 java.base/sun.security.ssl.SSLContextImpl.getApplicableSupportedCipherSuites(未知来源) 在 java.base/sun.security.ssl.SSLContextImpl$AbstractTLSContext.(未知来源) 在 java.base/java.lang.Class.forName0(本机方法) 在 java.base/java.lang.Class.forName(未知来源) 在 java.base/java.security.Provider$Service.getImplClass(未知来源) 在 java.base/java.security.Provider$Service.newInstance(未知来源) 在 java.base/sun.security.jca.GetInstance.getInstance(未知来源) 在 java.base/sun.security.jca.GetInstance.getInstance(未知来源) 在 java.base/javax.net.ssl.SSLContext.getInstance(未知来源) 在 java.base/javax.net.ssl.SSLContext.getDefault(未知来源) 在 java.base/javax.net.ssl.SSLSocketFactory.getDefault(未知来源) 在 java.base/javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(未知来源) 在 java.base/javax.net.ssl.HttpsURLConnection.(未知来源) 在 java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.(未知来源) 在 java.base/sun.net.www.protocol.https.Handler.openConnection(未知来源) 在 java.base/sun.net.www.protocol.https.Handler.openConnection(未知来源) 在 java.base/java.net.URL.openConnection(未知来源) 在hackerearthpractice/hackerearthpractice.GoalGetter.main(GoalGetter.java:16) 引起:java.lang.SecurityException:无法初始化密码机制 在 java.base/javax.crypto.JceSecurity.(未知来源) ... 23 更多 原因:java.lang.SecurityException:缺少强制管辖权策略文件:无限制 在 java.base/javax.crypto.JceSecurity.setupJurisdictionPolicies(未知来源) 在 java.base/javax.crypto.JceSecurity$1.run(未知来源) 在 java.base/javax.crypto.JceSecurity$1.run(未知来源) 在 java.base/java.security.AccessController.doPrivileged(未知来源) ... 24 更多
【问题讨论】:
-
根据oracle.com/java/technologies/javase-jce-all-downloads.html,Java 9 及更高版本不需要该策略文件。因此,我的猜测是,当您遇到该异常时,您实际上并没有运行 Java 15。
-
在 Eclipse 中显示“JRE 系统库 [JavaSE - 15]”
-
是的......但您似乎正在使用不同版本的 Java 来运行您的应用程序。
-
我正在尝试搜索运行配置,但找不到任何明确的内容,你知道吗?
-
配置中的运行时 JRE 也是默认 v15