【问题标题】:Access restriction: The constructor Provider() is not accessible due to restriction on required library jdk1.6.0\jre\lib\jsse.jar?访问限制:由于所需库 jdk1.6.0\jre\lib\jsse.jar 的限制,无法访问构造函数 Provider()?
【发布时间】:2012-02-21 13:40:02
【问题描述】:

我正在使用带有身份验证器的 javax.Mail api,但是下面的代码给出了

访问限制:由于所需库 C:\Program Files (x86)\Java\jdk1.6.0\jre\lib\jsse.jar 的限制,无法访问构造函数 Provider()

java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

如何解决这个问题。

【问题讨论】:

标签: java


【解决方案1】:

我刚刚从我的项目构建路径中删除了 JRE 系统库并重新添加。只是错误消息消失了,我不知道它是怎么发生的,但我的错误得到了解决。

【讨论】:

  • 稍后您可能已将 JDK 添加为该项目的 JRE。
【解决方案2】:

就我而言,它发生在我更新 Maven 项目之前。 在 Eclipse 中,我这样做:

Project → Properties → Java Build Path → Edit JRE System Library:

Select Workspace default JRE

我注意到每次更新 Maven 时,问题都会再次出现。 我必须重新做所有事情。

在更新 Maven 项目后,我有什么办法不需要再次重复这些步骤?

【讨论】:

    【解决方案3】:

    就我而言,我正在升级一个项目以使用 Maven 并在 Payara 5 下运行。 从项目构建路径中删除然后重新添加 JRE 使错误消失,但每次我更改构建路径(一次删除一个库以支持 Maven POM 条目)时,错误又回来了。

    这对我有用: 属性 -> 项目构面 -> 运行时选项卡 更改为 Payara 5 运行时。

    【讨论】:

      猜你喜欢
      • 2012-03-05
      • 2015-10-13
      • 2012-05-12
      • 2010-11-08
      • 2010-10-26
      相关资源
      最近更新 更多