正在从 Java 8 升级到 Java 11 - 软件包 sun.util 不存在
Upgrading to Java 11 from Java 8 - package sun.util does not exist
我正在尝试将应用程序从 Java 8 迁移到 Java 11。当我尝试在 IntelliJ 中构建项目时出现 package sun.util does not exist
错误?
有什么想法吗?
谢谢!
包 com.sun.*
和 sun.*
包含内部内容,一般情况下不应由第三方应用程序(可能像您的应用程序)使用。
自从java 9引入了模块系统,现在Oracle"protect"这些包甚至在编译时。
所以显而易见的方法是在您的代码中摆脱这种依赖性。
他们为什么要保护?因为他们把更改这些东西的权利留给自己,所以正如我所说,它被认为是内部的。
加法:
您可以尝试(我不推荐)应用 this great article 中的一些 "resolution" 工具(阅读 "Illegal Access To Internal APIs" 章节),但正如本文作者所述,最直接的方法是停止在代码中使用这些包,因此将其视为第一个赌注。
我正在尝试将应用程序从 Java 8 迁移到 Java 11。当我尝试在 IntelliJ 中构建项目时出现 package sun.util does not exist
错误?
有什么想法吗?
谢谢!
包 com.sun.*
和 sun.*
包含内部内容,一般情况下不应由第三方应用程序(可能像您的应用程序)使用。
自从java 9引入了模块系统,现在Oracle"protect"这些包甚至在编译时。
所以显而易见的方法是在您的代码中摆脱这种依赖性。 他们为什么要保护?因为他们把更改这些东西的权利留给自己,所以正如我所说,它被认为是内部的。
加法:
您可以尝试(我不推荐)应用 this great article 中的一些 "resolution" 工具(阅读 "Illegal Access To Internal APIs" 章节),但正如本文作者所述,最直接的方法是停止在代码中使用这些包,因此将其视为第一个赌注。