我在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?有什么问题?
答案 0 :(得分:25)
看起来你正在使用Eclipse。默认情况下,Eclipse只导入JRE jar,而不是JDK中的JAR jar。
解决方案1:
解决方案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
因为我知道"我已经复制了正确的目录名,我花了很长时间才看到这两个不同的字符并修复了问题。