0

我正在开发一个使用ant调用JDK的简单 java 编辑器。

在 Eclipse 上一切正常,我能够构建build.xml。问题是当我将 Editor 导出到可执行 jar并尝试构建项目的build.xml时,我遇到了著名的问题:

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 (x86)\Java\jre7"

重要的:

如果我从cmd运行我的jar 编辑器,它工作正常,但如果我双击编辑器jar 它不起作用,我会遇到著名的问题(无法找到 javac 编译器...)。

注意:

  1. JAVA_HOME 指向JDK

  2. 我正在使用ant.jarant-launcher.jar

  3. Eclipse 指向我的JDK安装。

  4. tools.jar添加到 JDK/lib 文件夹

4

3 回答 3

2

解决方案是在targetfork上将属性设置为 yes 。javac

于 2013-10-25T19:27:59.057 回答
1

也许 JAVA_HOME 不指向JDK

JAVA_HOME 当前设置为 C:\Program Files (x86)\Java\ jre7

该消息内容丰富且切中要害,不是吗?

于 2013-10-08T13:54:24.077 回答
1

您的 JAVA_HOME 看起来像是指向 JRE 安装,而不是 JDK 安装。(错误消息说是"C:\Program Files (x86)\Java\jre7"!)

JRE 不包括任何 Java 开发工具……例如javacAnt 试图加载/使用的 Java 编译器。

如果您的机器上确实安装了 JDK,那么您需要做的就是更改 JAVA_HOME 环境变量,以便它引用它......而不是 JRE。否则,您需要下载并安装相关的 JRE。

于 2013-10-08T13:50:18.333 回答