我想在我使用sun.misc.BASE64Decoder
类的 XPage 中解码 Base64 字符串。但根据 Java开发人员的说法,不应编写调用“sun”包的程序。当我偶然发现com.ibm.misc.BASE64Decoder
. 它对我有用,结果与sun.misc.BASE64Decoder
. 所以我想知道开发人员使用这个包及其类是否可以?还是像“sun”包一样要避免?
我也知道我可以将Apache Commons用于 Base64,但我想尽量减少对外部 JAR 的依赖。
我想在我使用sun.misc.BASE64Decoder
类的 XPage 中解码 Base64 字符串。但根据 Java开发人员的说法,不应编写调用“sun”包的程序。当我偶然发现com.ibm.misc.BASE64Decoder
. 它对我有用,结果与sun.misc.BASE64Decoder
. 所以我想知道开发人员使用这个包及其类是否可以?还是像“sun”包一样要避免?
我也知道我可以将Apache Commons用于 Base64,但我想尽量减少对外部 JAR 的依赖。
你会遇到与withcom.ibm.misc.BASE64Decoder
完全相同的问题sun.misc.BASE64Decoder
:它是一个内部类,只存在于特定的 JVM 实现中,在这种情况下是 IBM 的 JVM。
注意com.ibm.misc.BASE64Decoder
Oracle 的JVM 中没有,所以如果你使用这个类,你的程序就不能在Oracle 的JVM 上运行;它将失败并带有NoClassDefFoundError
.
您可以使用 mre 在他的评论中引用的方法,该方法位于类中javax.xml.bind.DatatypeConverter
- JAXB API 的一部分,它是标准 Java API 的一部分(自 Java SE 6 起)。