JDK7中没有com.sun.tools.javac

时间:2012-04-25 11:44:44

标签: 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);

我得到错误:

  

键入com.sun.tools无法解析为   输入

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

enter image description here

3 个答案:

答案 0 :(得分:25)

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

解决方案1:

  1. 转到Eclipse首选项(在Windows上:窗口 - >首选项)
  2. 打开首选项Java - >已安装的JRE
  3. 选择您的JRE并按编辑
  4. 使用“添加外部jar”来包含tools.jar(在JDK_HOME / lib中找到)
  5. 解决方案2:

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

答案 1 :(得分:8)

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

答案 2 :(得分:0)

javac位于JDK bin目录中,但不在JRE bin中。

我遇到了类似的问题,结果发现我错误地将JAVA_HOME变量设置为JRE而不是JDK,即

C:\Program Files\Java\jre1.8.0_60 instead of 
C:\Program Files\Java\jdk1.8.0_60

因为我知道"我已经复制了正确的目录名,我花了很长时间才看到这两个不同的字符并修复了问题。