如何访问这个特定的 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 路径。