如何解决从 1.8 迁移到 openJDK11 时不可见"sun.security.x509"?



我正在将Java 1.8迁移到OpenJDK 11。出现一些依赖项错误。

  1. "sun.security.x509"不可见。
  2. BASE64编码器错误

我该如何解决这些问题?我正在使用Apache Ant进行构建。

我们无法告诉您如何解决第一个问题,因为您尚未向我们展示您在sun.security.x509包中使用类的代码。 可能的解决方法可能是使用--add-exports和/或--add-opens,如本博客文章中所述:

  • 迁移到 Java 11 需要了解的所有信息

但是,这种解决方法将来可能会停止工作。 解决方案是找到一种方法来避免依赖这些类。

第二个问题可以通过重写代码以使用 Java 8 中引入的java.util.Base64类 (javadoc( 来使用。


我正在使用Apache Ant进行构建。

这并不直接相关。 问题的根本原因在于您正在构建的代码,而不是您正在使用的构建工具。

最新更新