【问题标题】:Missing mandatory jurisdiction policy files: unlimited缺少强制性管辖权政策文件:无限制
【发布时间】: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

标签: java security


【解决方案1】:

它在eclipse中使用了这个奇怪的运行时,我把它改成了我安装的那个,然后它就可以工作了。

【讨论】:

    猜你喜欢
    • 2017-05-25
    • 1970-01-01
    • 2022-01-20
    • 2012-03-03
    • 2020-10-05
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    相关资源
    最近更新 更多