我得到的错误:
C:\ dev的\ WS \ springapp \ build.xml中:81:无法找到一个javac编译器; com.sun.tools.javac.Main是不是在classpath。 也许JAVA_HOME不指向JDK。 这是当前设置为 “C:\ Program Files文件\的Java \ JRE6”
但我清楚我的设置JAVA_HOME为C:\ Program Files文件\的Java \ jdk1.6.0_14
凡ANT得到这个值?
我得到的错误:
C:\ dev的\ WS \ springapp \ build.xml中:81:无法找到一个javac编译器; com.sun.tools.javac.Main是不是在classpath。 也许JAVA_HOME不指向JDK。 这是当前设置为 “C:\ Program Files文件\的Java \ JRE6”
但我清楚我的设置JAVA_HOME为C:\ Program Files文件\的Java \ jdk1.6.0_14
凡ANT得到这个值?
当你说你有“明确规定” JAVA_HOME为“C:\ Program Files文件\的Java \ jdk1.6.0_14” - 就是你所看到的,当您运行命令行“套”? 我相信蚂蚁将用于JAVA_HOME值想,如果没有设置一个在所有...是有可能,你已经设置JAVAHOME代替JAVA_HOME?
如果它是不一样的是,我建议你编辑ant.bat
批处理文件(以及任何调用-我不记得它是否是费解或不随便)在开始和其他各种有趣的地方打印出来JAVA_HOME。
C:\Program Files\Java\jdk1.7.0_04
)。 这个工作在我遇到了一个特定的场景。
我遇到同样的问题,当我尝试使用下面的命令来运行Ant构建:
java -cp ant.jar:ant-launcher.jar org.apache.tools.ant.Main
该命令的输出是:
BUILD FAILED
XXX/build.xml:8: 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 "/usr/lib/jvm/java-6-openjdk/jre"
看来Java可执行文件是采摘 “/ usr / lib中/ JVM / JAVA-6的OpenJDK / JRE” 为JAVA_HOME,而不是 “/ usr / lib中/ JVM / JAVA-6-OpenJDK的” JDK的安装。
我通过设置解决了这个问题fork="yes"
在我的<javac>
任务。
看看: http://ant.apache.org/manual/Tasks/javac.html
也有可能你已经包含在您设置JAVA_HOME / bin中,和Ant是添加/ bin添加到它 - 而没有找到任何exe文件的。 它发生在我身上:}
请确保您不使用尾随分号:这是行不通的:
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_29;
这将:
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_29
我遇到了similiar问题。 我会链接到运行Ant任务弗朗Maven构建,我得到了这个问题。 我有固定它作为波纹管的步骤:
它为我工作。
为了解决这个问题的tools.jar添加文件窗口 - >首选项 - > ant->运行。
在Eclipse中设置安装JRE设置为JDK - 在项目(项目属性 - > Java构建路径 - >库),或偏好全局默认设置(基于Java>已安装的JRE)。 所述Eclispe的设置是比系统变量更强。
我希望你知道有关系统和用户环境变量。 用户的人是优选的过系统。 如果您在系统变量设置你的JAVA_HOME,如果有在用户变量相同的条目,那么你将只能得到后者。
右键单击我的电脑,选择属性,选择高级选项卡,然后单击环境变量,以用户和系统环境变量的列表。
分号被扔我了:我有JAVA_HOME
设置为“C:\ jdk1.6.0_26;” 而不是 “C:\ jdk1.6.0_26”。 我下面乔恩斯基特的建议检查后取出尾随分号ant.bat
文件。 这是文件的一部分:
if "%JAVA_HOME%" == "" goto noJavaHome
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
因此,分号没有被修剪掉末,造成这种无法找到该文件,因此默认为“C:\ Java的\ JRE6”或类似的东西。
混乱的部分是HowtoBuild页面国家使用分号,但似乎打破它。
我面临着同样的问题,使得在标签的javac可执行文件属性设置为的javac.exe的位置,解决了这个问题对我来说。 这解决了这个问题
<javac srcdir="${srcDir}" destdir="${buildDir}" fork="true" executable="C:\Program Files\Java\jdk1.7.0_03\bin\javac"/>
其实发现superuser.com这个答案,但我不得不从的tools.jar我JDK \ lib目录下的JRE \ lib目录复制。
使ZERO感......我能想到太阳是唯一推出最新Java运行时或这个bug(Java 7的更新11)的蚂蚁在它是如何读取当前的JDK位置的错误(JRE将超过JDK更新显然这也是愚蠢的阳光......他们应该释放的JDK他们每次更新JRE)。
我JAVA_HOME设置正确。 我证实了做“设置JAVA_HOME”。 它指出我的JDK目录和拼写正确。 然而,蚂蚁是声称它找不到javac的,但认为JAVA_HOME在我JRE的目录。
我的系统最新的Sun JRE7更新(10和11)之前,工作得很好。 Ant是1.8.4版本
如果你有JAVA_HOME
集,但有中有一个错字,你也会看到假参照JRE6路径。
当一切是正确的请尝试以下
注意:添加的tools.jar为您想使用最多的tools.jar中的列表中移动它时多的tools.jar(Java编译)存在优先给它的Java编译器。
只需设置从下面的步骤JDK的路径:
转到“运行” - >外部工具 - >外部工具配置
- >选择“JRE”然后从下拉列表中选择可用的JDK。 恩。 jdk1.8.0_25
我有同样的问题。 通过JAVA_HOME指出我的JDK包没有任何的tools.jar要确保你的JDK instal.lation具有的tools.jar
(显然是错误消息是混乱的)
在环境变量设置JAVA_HOME D:\Program Files\IBM\SDP\jdk
不要给任何引号或分号。 它是me.Please作品尝试的解决方案。 其实在ant.bat它会检查适当JAVA_HOME
的情况下,如果不ant.bat能找到它,然后它的JAVA_HOME
点的默认JRE。
我也面临同样的问题。 我使用的是Windows 7和我已经安装的Java的两个版本。 首先,我已经安装了最新版本的Java 7,然后第5版。
我的Java安装目录的内容:
C:\Program Files\Java>
jdk1.5.0_14
jdk1.7.0_17
jre1.5.0_14
jre7
我的JAVA_HOME设置为正确的值,这是:
C:\>set ja
JAVA_HOME=C:\Program Files\Java\jdk1.5.0_14
不过还是我得到了同样的问题:
XXXXXXX\build.xml:478: The following error occurred while
executing this line:
XXXXXXX\build.xml:477: 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"
在此线程尝试了所有的建议后,我意识到我的错误。 我试图设置环境变量在“系统变量”部分,而不是“用户变量”。 在“系统变量”设置它后,它工作得很好。 我虽然面临的另一个问题。
Java的默认版本,它指向的还是7。
C:\>java -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) Client VM (build 23.7-b01, mixed mode, sharing)
我不知道如何使它指向5版本。
建立我与詹金斯项目时,我遇到了这个问题。 首先,它找不到ant.bat
,这是固定通过添加路径ant.bat系统环境变量路径。 然后蚂蚁找不到JDK目录。 这是固定通过右键单击my computer > properties > advanced > environment variables
,并创建一个新的名为环境变量JAVA_HOME
和分配给它的值C:\Program Files\Java\jdk1.7.0_21
。 不要创建在用户变量此环境变量。 仅在系统变量创建它。
在这两种情况下,我不得不重新启动系统。
这是常见的得到这个问题。 我不能设置任何特定的Java家在我的系统,因为我有不同的环境2个不同版本的Java(Java 6中和Java 7)的。 要解决这个问题,我打开build.xml文件时,包含在运行配置JDK的路径。 这样一来,2个不同的构建文件使用2个不同的Java版本的构建。 我觉得可能是一个更好的解决这个问题,但至少上述办法避免设置JAVA_HOME变量。
仅供参考,我使用的是Windows 7,不得不以重新启动Windows新JAVA_HOME设置生效。
有同样的问题;
c:\jb\src\build.xml:191: 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
c:\jb\src>echo %JAVA_HOME%
c:\Program Files\Java\jdk1.7.0_13
解:
path = c:\ant\bin\;%PATH%
path = c:\Program Files\Java\jdk1.7.0_17\bin;%PATH%
set "JAVA_HOME=c:\Program Files\Java\jdk1.7.0_13"
我猜的jdk路径指令仅此一项就做,但我懒弄明白上述方案是防弹。 :-)
还使用Windows7的
快速的工作,对同一是
复制C:\ Program Files文件\的Java \ jdk1.6.0_14 \ LIB \ tools.jar中为C:\ Program Files文件\的Java \ JRE6 \ LIB \
此异常来,因为JAVA_HOME被设置为C:\ Program Files文件\的Java \ JRE6和Ant是无法找到的tools.jar它。
如果需要在日食与月食内置JDK运行ant添加build.xml中的以下行
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>