我在Windows 7 64位中使用JDK 7和Eclipse Indigo。我将环境变量JAVA_HOME设置为F:\ JDK7并在路径中添加%JAVA_HOME%\ bin。这是我的示例代码:
com.sun.tools.javac.Main m1 = new com.sun.tools.javac.Main();
m1.compile(source);
我得到的错误:
键入com.sun.tools无法解析为类型
为什么没有com.sun.tools?有什么问题 ?
看起来你正在使用Eclipse。默认情况下,Eclipse只导入JRE jar,而不是JDK中的JAR jar。
解决方案1:
解决方案2:
编辑项目构建路径并添加外部库:JDK_HOME / lib中的tools.jar
你最好使用qazxsw poi,而不是试图直接调用javac,这是在tools.jar中。如果你使用它,API会为你添加它。
javac位于JDK bin目录中,但不在JRE bin中。
我有一个类似的问题,事实证明我错误地将我的JAVA_HOME变量设置为JRE而不是JDK,即,
JavaCompiler API
因为我“知道”我复制了正确的目录名,所以我花了很长时间才能看到这两个不同的字符并解决问题。