Ant构建不起作用:无法找到javac编译器

我正在尝试运行一些Java EE示例。 Ant建议: Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\Program Files\Java\jre7 Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\Program Files\Java\jre7

当我查看我的Windows 7变量时,我的JAVA_HOME变量是: C:\Program Files\Java\jdk1.7.0_03

但是,我的路径是(注意jdk1.6.0_26):

 %M2_HOME%\bin;%ANT_HOME%\bin;%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%; %SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\; C:\Program Files\Microsoft Application Virtualization Client;%M2%; C:\Program Files\QuickTime\QTSystem\;C:\Program Files\TortoiseSVN\bin; %GLASSFISH%;%GLASSFISH_PARENT%; PATH=C:\Maven\apache-maven-2.2.1\bin;C:\Ant\apache-ant-1.8.2\bin;**C:\Program File s\Java\jdk1.6.0_26\bin;**C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C :\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Applicatio n Virtualization Client;C:\Maven\apache-maven-2.2.1\bin;C:\Program Files\QuickTi me\QTSystem\;C:\Program Files\TortoiseSVN\bin;C:\glassfish3\glassfish\bin;C:\gla ssfish3\bin;C:\Sun\jwsdp-2.0\jwsdp-shared\bin 

我是否必须做一些特别的事情才能让窗户保存我的路径?

更多信息:

 C:\javaeetutorial5\examples\web\hello2>ant Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre7\li b\tools.jar Buildfile: C:\javaeetutorial5\examples\web\hello2\build.xml -pre-init: init: default-ear: -pre-compile: bpp-actual-compilation: [echo] Compiling hello2 [echo] javaee.classpath.prefix is: C:\glassfish3/lib [echo] is.glassfish.v3 is: ${is.glassfish.v3} [javac] C:\javaeetutorial5\examples\bp-project\command-line-ant-tasks.xml:93 : warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=las t; set to false for repeatable builds BUILD FAILED C:\javaeetutorial5\examples\bp-project\command-line-ant-tasks.xml:93: 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" Total time: 0 seconds 

对于日食

  • 右键单击build.xml —> Build path —> configure buildpath —> select libraries选项卡
  • 点击“添加库”—>双击[jre系统库] —>环境—>安装jres —>添加—>标准vm
  • 点击目录—>浏览到jdk [C:\ Program Files \ Java \ jdk1.7.0_01]
  • 将选择jre更改为jdk —>单击确定

快速解决同样的问题

将C:\ Program Files \ Java \ jdk1.7.0_03 \ lib \ tools.jar复制到C:\ Program Files \ Java \ jre7 \ lib \

此exception即将发生,因为JAVA_HOME被设置为C:\ Program Files \ Java \ jre7并且Ant无法在其中找到tools.jar。

在Windows中,转到计算机属性,高级系统设置,高级环境变量

在我的案例“C:\ Program Files \ Java \ jdk1.7.0_51”中添加一个名为“JAVA_HOME”的系统变量,将其文件夹设置为JDK位置

关闭命令提示符,重新打开它,它现在应该工作。

如果系统中同时安装了JRE和JDK,请确保JDK在PATH变量中排在第一位。

我认为系统从左到右扫描PATH变量,无论先考虑什么都考虑在内。

在我的情况下(使用LinuxMint)我得到了同样的错误。 当我在JRE之前在PATH变量中添加JDK时,它解决了我的问题。

我在Mac OS X中遇到了同样的错误,但我找到的所有答案都是针对Windows系统的,并且两者的路径都有所不同,这些解决方案对我来说都不起作用。 花了几个小时后,我终于能够通过以下方式修复它了:

将/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/lib/tools.jar复制到/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext

它也适用于Windows用户:

将C:\ Program Files \ Java \ jdk1.8.0_91 \ lib \ tools.jar复制到C:\ Program Files \ Java \ jre8 \ lib \ ext

PS还要注意您在Eclipse中选择的jdk和jre版本是兼容的。

选择标准VM后,单击JRE Type窗口中的下一个按钮,转到名为JRE Definition的下一个窗口,您可以在其中找到Directory按钮。

在Windows 7 x64系统上的Ant命令行中出现此错误。

以下更改修复了问题

从Oracle服务器安装JDK,然后添加一个值为C的新系统变量JAVA_HOME :\ Program Files \ Java \ jdk1.8.0_131