Eclipse Ant";JAVA_HOME不指向JDK";-但确实如此

Eclipse Ant";JAVA_HOME不指向JDK";-但确实如此,eclipse,ant,java,Eclipse,Ant,Java,我无法运行我的Ant build.xml,因为我更新到了java 1.7.0_52(或者差不多)。多年来,我一直在Windows7笔记本电脑上通过Eclipse本地运行它,但这次最新的JaveJDK更新有些不同(?) 这是我的jdk!因此JAVA_HOME指向一个jdk(从错误消息中也可以清楚地看到)。我的路径中始终有我的JAVA_HOME with bin文件夹。我已经使用指向相同D:\Morten\Java\jdk1.7.0_52的JRE配置了Eclipse-外部工具配置(通过“单独的JRE

我无法运行我的Ant build.xml,因为我更新到了java 1.7.0_52(或者差不多)。多年来,我一直在Windows7笔记本电脑上通过Eclipse本地运行它,但这次最新的JaveJDK更新有些不同(?)

这是我的jdk!因此JAVA_HOME指向一个jdk(从错误消息中也可以清楚地看到)。我的路径中始终有我的JAVA_HOME with bin文件夹。我已经使用指向相同D:\Morten\Java\jdk1.7.0_52的JRE配置了Eclipse-外部工具配置(通过“单独的JRE”设置)。我还尝试了许多其他配置——都是运气不佳

我一直在阅读这里和其他地方列表上的大量答案,我想我已经尝试了所有的建议。大多数情况下,JAVA_HOME实际上指向一个jre,只需要将其更正为jdk,或者路径中有“;”之类的内容。这些似乎都不适用于我的情况


有什么建议吗?

尝试将
JAVA\u HOME\bin
添加到您的
env路径中

真正的信息是Ant找不到
com.sun.tools.javac.Main

再加上最新的“Sun”(Oracle)JDK是1.7.0_13(或者可能是_14,但绝对不是install dir所指出的“_52”),这一事实让我觉得您没有使用Ant认可的发行版。您可以通过运行
jartvf$JAVA_HOME/lib/tools.jar
并查找该类来验证这一点

讨论了使用不同编译器的方法。因为我只使用了“Sun”编译器,恐怕我不能给你任何提示



编辑:您还可以尝试在构建文件中设置
fork=“yes”
。这应该运行编译器可执行文件,而不是试图调用编译器类。

在Eclipse中运行ANT时,我收到了相同的消息

什么对我有用:

  • 在Eclipse中,访问菜单:“窗口->首选项”
  • 在树上访问“Ant->Runtime”
  • 访问类路径选项卡
  • 展开“全局条目”项
  • 在全局条目中,
    tools.jar
    的路径是错误的。它指向了一个旧版本的Java
  • 我删除了错误的条目,并用“添加外部Jars”按钮添加了正确的条目。成功了
  • 解决方案
    不得不将C:\Program Files\Java\jdk1.6.0\u 10\lib\tools.jar复制到C:\Program Files\Java\jre6\lib\ext
    ”这对我很有帮助,也很管用。

    将Java\u HOME添加到Eclipse首选项Java构建路径类路径变量。

    很抱歉发现了这个问题

    我也有同样的问题,我的解决方案不需要对环境变量进行任何修改,并且适用于最近的JDK,在那里找不到tools.jar

    只需进入ant run按钮旁边的小向下箭头 然后单击“配置外部工具” 然后在JRE选项卡中 选择安装在计算机上的JDK,而不是JRE,如果所选JDK与项目中的JDK/JRE不同,则没有问题


    它现在应该可以工作了。

    不,
    JAVA_HOME
    应该是您的
    jdk
    文件夹,bin路径应该在您的
    path
    环境变量中。所有这些都已经准备好了——而且已经有一段时间了。。。JAVA_HOME到jdk根目录和路径中的bin路径(检查了十几次)。是否设置了
    ANT_HOME
    环境变量?它也在路径中吗?这就是系统路径。如何从您可爱的cmd.exe打印出
    java-version
    javac-version
    ?还有,
    JAVA\u HOME
    告诉您什么?也可以尝试
    ant-version
    。在终端中尝试以下命令:“%JAVA\u HOME%\bin\javac”。如果该命令不存在,则证明您没有安装JDK。可能的重复情况是JAVA_HOME变量指向JRE而不是JDK。Java有两个发行版,只有“Java开发工具包”包含javac命令和Java使用的其他有用的二进制文件developers@MarkO康纳——可能,尽管OP声称已经检查过多次,所以我认为没有理由对此进行反驳,存在(或不存在)无论哪种方式,
    tools.jar
    都是强有力的证据。让我觉得它可能是其他东西的是安装目录的版本号。谢谢parsifal!我还不知道,但是“jar-tvf-tools.jar”清楚地表明这是一个来自完全不同的项目的tools.jar。只是卸载并重新安装我的jdk。@MortenGrum-除非您有充分的理由这样做,否则我建议您下载Oracle发行版:SOLVED!重新安装jdk(到您推荐的版本)就成功了!我似乎记得有一段时间以前,我得到了一个没有tools.jar的jdk,然后某个傻瓜(毫无疑问是我)似乎选择了最近的tools.jar文件并将其复制了进来。不太聪明——毫无疑问,我在现有的帖子中找不到太多帮助。谢谢你带我去!谢谢-这对我很有效。tools.jar条目丢失。我把它修好了
    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"