我更新到java 1.7.0_52(或那里)后,我无法运行我的Ant build.xml.我已经在我的Windows 7笔记本电脑上本地运行了多年Eclipse - 但是这个最新的jave jdk更新了一些不同的东西(?).
BUILD FAILED
C:\workspace\WaterAspectsModel3\build.xml:329: 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 "D:\Morten\Java\jdk1.7.0_52"
Run Code Online (Sandbox Code Playgroud)
这是我的jdk!所以JAVA_HOME指向一个jdk(从错误消息中也可以看出).我一直在路径中使用带有bin文件夹的JAVA_HOME.我已经配置了Eclipse - 外部工具配置 - JRE指向相同的D:\ Morten\Java\jdk1.7.0_52(通过"Separate JRE"设置).我已经尝试了许多其他配置 - 都没有运气.
我一直在阅读这里和其他地方的大量答案,并认为我已经尝试了所有的建议.大多数情况似乎是JAVA_HOME实际指向jre的情况,只需要纠正为jdk或者有一个";" 在路径或类似的东西.这些似乎都不适用于我的情况.
有什么建议?
Vin*_*ini 34
通过Eclipse运行ANT时,我收到了相同的消息.
什么对我有用:
tools.jar是错误的.它指向Java的旧版本;
真正的信息是Ant无法找到com.sun.tools.javac.Main.
哪个,以及最新的"Sun"(Oracle)JDK是1.7.0_13(或者可能_14,但绝对不是你的安装目录所指的"_52")的事实,让我觉得你没有使用发行版Ant承认.您可以通过运行jar tvf $JAVA_HOME/lib/tools.jar并查找该类来验证这一点.
该蚂蚁手册关于谈判的方式与不同的编译器工作.由于我只使用了"Sun"编译器,我担心我无法给你任何指示.
编辑:您也可以尝试fork="yes"在构建文件中进行设置.这应该运行编译器可执行文件而不是尝试调用编译器类.