Ant“JAVA_HOME不指向JDK” – 但确实如此
自从我更新到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"
这是我的jdk! 所以JAVA_HOME指向一个jdk(从错误消息中也可以看出)。 我一直在路径中使用带有bin文件夹的JAVA_HOME。 我已经配置了Eclipse – 外部工具配置 – JRE指向相同的D:\ Morten \ Java \ jdk1.7.0_52(通过“Separate JRE”设置)。 我已经尝试了许多其他配置 – 都没有运气。
我一直在阅读这里和其他地方的大量答案,并认为我已经尝试了所有的建议。 大多数情况似乎是JAVA_HOME实际上指向jre的情况,只需要纠正为jdk或者有一个“;” 在路径或类似的东西。 这些似乎都不适用于我的情况。
有什么建议么?
真正的信息是Ant无法找到com.sun.tools.javac.Main
。
哪个,以及最新的“Sun”(Oracle)JDK是1.7.0_13(或者_14,但绝对不是你的安装目录所指的“_52”)的事实,让我觉得你没有使用发行版Ant承认。 您可以通过运行jar tvf $JAVA_HOME/lib/tools.jar
并查找该类来validation这一点。
Ant手册讨论了使用不同编译器的方法。 由于我只使用“Sun”编译器,我担心我不能给你任何指示。
编辑:您也可以尝试在构建文件中设置fork="yes"
。 这应该运行编译器可执行文件而不是尝试调用编译器类。
通过Eclipse运行ANT时,我收到了相同的消息。
什么对我有用:
- 在Eclipse中,访问菜单:“Window – > Preferences”;
- 在树上访问“Ant – > Runtime”;
- 访问Classpath选项卡;
- 展开“全局条目”项;
- 在Global Entries中,
tools.jar
的路径是错误的。 它指向Java的旧版本; - 我删除了错误的条目,并添加了正确的条目“添加外部jar子”按钮。 有效。
解决方案“ Had to copy C:\Program Files\Java\jdk1.6.0_10\lib\tools.jar to C:\Program Files\Java\jre6\lib\ext
”非常有用并且对我有用。
尝试将JAVA_HOME\bin
添加到您的env PATH
。
将JAVA_HOME添加到Eclipse-Preferences-Java-Build Path-Classpath变量。