我收到以下错误,但我可以在 rt.jar 中找到该包。 我可以从项目结构中看到正在使用的 JDK。 我不确定缺少什么。
Error:(6, -1) Play 2 Compiler:
C:\user\projects\portal\app\com\example\security\cert\X509Cert.java:6: package sun.security.pkcs10 does not exist
import sun.security.pkcs10.*;
C:\user\projects\portal\app\com\v\security\cert\GenerateCSR.java:75: cannot find symbol
这不是 intellij 问题。
您需要使用
-XDignore.symbol.file
选项进行编译。一些内部包
默认情况下隐藏,除非您将此选项添加到 javac。
https://bugs.openjdk.java.net/browse/JDK-7141442
sun.security.x509.CertAndKeyGen 和 sun.security.pkcs.PKCS10 - JDK8 中缺失。实施建议
用户@user180100的评论也是相关且重要的。
sun.* 包不是受支持的公共接口的一部分。
A 不保证直接调用 sun.* 包的 Java 程序 在所有 Java 兼容平台上工作。其实这样的程序是 即使在同一平台上的未来版本中也不能保证工作。
我对不同的包也有类似的错误。
我们使用的软件包已映射到网络驱动器,而我访问该映射驱动器的凭据已过期,因此我重新进行了身份验证并尝试了
IntelliJ:文件 -> 使缓存无效/重新启动
或
$gradle clean build
希望这有帮助!
点击项目并选择 Maven->Reload 这也可以解决它,如果依赖于我们的同步
我的电脑在编写代码时突然蓝屏。返回 IDE 时,我遇到了此异常 Windows 客户端版本默认情况下未启用 Java Minidumps,我通过更新/重新安装 JDK 解决了这个问题。
解决上述错误后,该依赖关系不再可见。我注意到我的 IDE 现在指向新更新的 JDK。
我通过转到 > 文件 > 项目结构 > 项目更新了项目的 JDK 版本:从这里,我选择了 JDK 1.8.0_65。