Ant脚本找不到javac编译器



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

BUILD FAILED
C:thesis100GreatPeclipse_wstestbuild.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 FilesJavajre7"

它说它搜索javac编译器失败,还说它当前设置为C:Program FilesJavajre7,但这不是真的。在环境变量中,我也定义了JAVA_HOME=C:Program FilesJavajdk1.7.0_21bin;PATH=C:Program FilesJavajdk1.7.0_21bin;。我的CLASSPATH变量是这样定义的——CLASSPATH=C:Program FilesJavajre7lib;。你知道还有什么会导致这种错误吗?谢谢。

你检查过ant -diagnostics告诉你的JAVA_HOME吗?

可能你的JAVA_HOME也不正确;不应该是C:Program FilesJavajdk1.7.0_21bin,最好是C:Program FilesJavajdk1.7.0_21

你可以看到你的eclipse蚂蚁使用的jdk,如果你去你的eclipse首选项:窗口->首选项->蚂蚁->运行时->Classpath->全局条目。

签入tools.jar的路径"Global Entries"。如果您想使用另一个javac,只需使用"添加外部Jar"选项指向另一个tools.jar。

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

按外观顺序定义的第一个tools.jar将由eclipse ant使用。

我在两个不同版本的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)Javajdk1.6.0_16
  3. 确保我设置环境变量JAVA_HOME右键点击This PC(我有Win8.1),选择Properties,点击Advanced,并设置System环境变量JAVA_HOME为该值。

相关内容

  • 没有找到相关文章

最新更新