JDK7中没有com.sun.tools.javac

问题描述 投票:10回答:3

我在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?有什么问题 ?

enter image description here

java jdk1.6 java-7
3个回答
25
投票

看起来你正在使用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


8
投票

你最好使用qazxsw poi,而不是试图直接调用javac,这是在tools.jar中。如果你使用它,API会为你添加它。


0
投票

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

我有一个类似的问题,事实证明我错误地将我的JAVA_HOME变量设置为JRE而不是JDK,即,

JavaCompiler API

因为我“知道”我复制了正确的目录名,所以我花了很长时间才能看到这两个不同的字符并解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.