0

我想使用 Ant 在 Eclipse 中构建我的项目。运行 XML 脚本时,出现以下错误:

BUILD FAILED
C:\thesis\100GreatP\eclipse_ws\test\build.xml:82: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jre7"

它说它无法搜索 javac 编译器并且还说它当前设置为C:\Program Files\Java\jre7,但事实并非如此。在环境变量中,我也定义了JAVA_HOME=C:\Program Files\Java\jdk1.7.0_21\bin;and PATH=C:\Program Files\Java\jdk1.7.0_21\bin;。我的CLASSPATH变量是这样定义的 - CLASSPATH=C:\Program Files\Java\jre7\lib;。任何想法还有什么可能导致这种错误?谢谢。

4

3 回答 3

2

你检查过什么ant -diagnostics告诉你你的JAVA_HOME

可能您的JAVA_HOME也不正确;它不应该C:\Program Files\Java\jdk1.7.0_21\bin,但更好的是C:\Program Files\Java\jdk1.7.0_21

于 2013-06-02T18:57:45.550 回答
1

如果您转到 Eclipse 首选项,您可以看到您的 Eclipse ant 使用了哪个 jdk:Window->Preferences->Ant->Runtime->Classpath->Global Entries。

在“全局条目”中检查 tools.jar 的路径。如果您想使用另一个 javac,只需使用“添加外部 Jar”选项指向另一个 tools.jar。

tools.jar 通常可以在 /lib 目录下的任何 jdk 中找到。

eclipse ant 将使用按出现顺序定义的第一个 tools.jar。

于 2015-07-30T09:00:33.280 回答
0

我在两个不同版本的 Eclipse 中遇到了同样的错误。

第一次接触开普勒

我使用 Eclipse/Kepler 遇到了这个问题。最初我发现我没有安装JDK;我推断 Eclipse 必须有一个编译器,所以我应该能够在没有 JDK 的情况下做到这一点。

果然——这个 Eclipse Wiki FAQ指示我将以下内容添加到我的 Ant 构建文件中:

<property name="build.compiler" 
   value="org.eclipse.jdt.core.JDTCompilerAdapter"/>

我收到了关于泛型使用的抱怨,所以我发现我必须再添加两行——这就是最终奏效的方法:

<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
<property name="ant.build.javac.source" value="1.6"/>
<property name="ant.build.javac.target" value="1.6"/>

第二次与伽利略

上面的解决方案在 Eclipse Galileo 中对我不起作用。相反,我执行了以下操作来推出MichalB的解决方案(并且有效):

  1. 确保我安装了 JDK!
  2. 确保我为 JAVA_HOME 选择的值是文件夹上方目录的路径bin- 在我的例子中,C:\Program Files (x86)\Java\jdk1.6.0_16.
  3. 确保我通过右键单击This PC(我有 Win8.1)、选择Properties、单击Advanced并将System环境变量 JAVA_HOME 设置为该值来设置环境变量 JAVA_HOME。
于 2013-11-09T01:08:36.050 回答