我想使用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;
和PATH=C:\Program Files\Java\jdk1.7.0_21\bin;
。我的CLASSPATH
变量定义如下 - CLASSPATH=C:\Program Files\Java\jre7\lib;
。还有什么想法会导致这种错误吗?感谢。
答案 0 :(得分:2)
您是否检查了ant -diagnostics
告诉您JAVA_HOME
的哪些内容?
您的JAVA_HOME
可能也不正确;它不应该是C:\Program Files\Java\jdk1.7.0_21\bin
,最好是C:\Program Files\Java\jdk1.7.0_21
答案 1 :(得分:1)
如果你去你的eclipse偏好,你可以看到你的eclipse蚂蚁使用哪个jdk:Window-> Preferences-> Ant-> Runtime-> Classpath-> Global Entries。
签入"全球参赛作品" tools.jar的路径。如果你想使用另一个javac,只需指向另一个tools.jar,使用" Add External Jar"选项。
tools.jar通常可以在/ lib目录下的任何jdk中找到。
按照外观顺序定义的第一个tools.jar将由你的eclipse蚂蚁使用。
答案 2 :(得分:0)
我在两个不同版本的Eclipse中遇到了同样的错误。
我使用Eclipse / Kepler遇到了这个问题。最初我发现我没有安装JDK;我推断Eclipse必须有一个编译器,所以我应该能够在没有JDK的情况下做到这一点。
果然 - this Eclipse Wiki FAQ指示我将以下内容添加到我的Ant构建文件中:
<property name="build.compiler"
value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
我对Generics的使用抱怨,所以我发现我必须再添加两行 - 这才是最终起作用的:
<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的解决方案(并且有效):
bin
文件夹的路径 - 在我的情况下是C:\Program Files (x86)\Java\jdk1.6.0_16
。This PC
(我有Win8.1),选择Properties
,点击Advanced
并设置System
,确保我设置环境变量JAVA_HOME }环境变量JAVA_HOME到该值。