如何访问这个特定的 class?
How to I access this particular class?
有问题的 class 是 sun.security.tools.KeyTool
,我使用的是 OpenJDK 7。不过我一直得到 "cannot find symbol",而且我不是 Java 专家,所以我无法通过文档弄清楚为什么会这样或者它是否消失了。有什么想法吗?
确切的错误信息:
Main.java:1: error: cannot find symbol
import sun.security.tools.KeyTool;
^
symbol: class KeyTool
location: package sun.security.tools
代码:
import sun.security.tools.KeyTool;
public class Main {
public static void main(String[] args) {
}
}
尝试使用 javac -XDignore.symbol.file ...
。
默认情况下 javac
限制它向用户公开的 classes。这通常可以帮助用户避免意外地依赖(不受支持的)class 不是 public Java API 但碰巧在当前 JRE/JDK 中可用的那些。 "safe" classes 的列表在 ct.sym
文件中描述。 ignorel.symbol.file
系统 属性 告诉 javac 忽略该文件并使用 JDK/JRE.
中可用的所有 classes
并确保添加 tools.jar
,其中 class 定义到 javac 的 class 路径。
有问题的 class 是 sun.security.tools.KeyTool
,我使用的是 OpenJDK 7。不过我一直得到 "cannot find symbol",而且我不是 Java 专家,所以我无法通过文档弄清楚为什么会这样或者它是否消失了。有什么想法吗?
确切的错误信息:
Main.java:1: error: cannot find symbol
import sun.security.tools.KeyTool;
^
symbol: class KeyTool
location: package sun.security.tools
代码:
import sun.security.tools.KeyTool;
public class Main {
public static void main(String[] args) {
}
}
尝试使用 javac -XDignore.symbol.file ...
。
默认情况下 javac
限制它向用户公开的 classes。这通常可以帮助用户避免意外地依赖(不受支持的)class 不是 public Java API 但碰巧在当前 JRE/JDK 中可用的那些。 "safe" classes 的列表在 ct.sym
文件中描述。 ignorel.symbol.file
系统 属性 告诉 javac 忽略该文件并使用 JDK/JRE.
并确保添加 tools.jar
,其中 class 定义到 javac 的 class 路径。