我正在使用 NetBeans 7.0.1 和 JDK 1.6 Update 24,并且在导入包com.sun.org.apache.xml.internal.security.utils.Base64
以对密码哈希进行编码时:
u.setPassword(Base64.encode(digest(password)));
但是,在编译时,我收到以下错误:
(omitted)\RegistrationController.java:8: package com.sun.org.apache.xml.internal.security.utils does not exist
import com.sun.org.apache.xml.internal.security.utils.Base64;
(omitted)\RegistrationController.java:94: cannot find symbol
symbol : variable Base64
location: class RegistrationController
u.setPassword(Base64.encode(digest(password)));
2 errors
我已经阅读了关于同一问题的其他几个问题,但都涉及不属于 JDK 的包,而这是 ( rt.jar
)。Code Assists 处理类型并扩展 jar 显示源代码和二进制文件实际上也存在。
我曾尝试清理项目、重建它、将源文件复制到一个全新的企业项目并以管理员身份运行 NetBeans,但都无济于事。非常感谢有关如何解决此问题的任何线索!
谢谢!
com.sun.* 类不是 Java API 的一部分,您不应该依赖它们。我建议使用Apache Commons Codec来代替 Base64 编码。