JDK7中没有com.sun.tools.javac

lin*_*ker 11 java jdk1.6 java-7

我在Windows 7 64位中使用JDK7和Eclipse Indiago.我将环境变量JAVA_HOME设置为F:\ JDK7并在路径中添加%JAVA_HOME%\ bin.这是我的示例代码:

com.sun.tools.javac.Main m1 = new com.sun.tools.javac.Main();
m1.compile(source);
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

键入com.sun.tools无法解析为类型

为什么没有com.sun.tools?有什么问题 ?

在此输入图像描述

Gui*_*let 26

看起来你正在使用Eclipse.默认情况下,Eclipse只导入JRE jar,而不是JDK中的JAR jar.

解决方案1:

  1. 转到Eclipse首选项(在Windows上:窗口 - >首选项)
  2. 打开首选项Java - > Installed JREs
  3. 选择您的JRE并按编辑
  4. 使用"添加外部jar"包含tools.jar(在JDK_HOME/lib中找到)

解决方案2:

编辑项目构建路径并添加外部库:JDK_HOME/lib中的tools.jar


Pet*_*rey 8

您最好使用JavaCompiler API,而不是直接调用tools.jar中的javac.如果您使用它,API会为您添加它.