我正在开发一个简单的java编辑器,它使用 ant 来调用 JDK 。
在eclipse上一切正常,我能够构建 build.xml 。问题是当我将编辑器导出到可执行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编译器......)。
注意:
JAVA_HOME指向 JDK 。
我正在使用 ant.jar 和 ant-launcher.jar 。
Eclipse指向我的 JDK 安装。
tools.jar 已添加到JDK / lib文件夹
答案 0 :(得分:2)
解决方案是在fork
目标上将javac
属性设置为是。
答案 1 :(得分:1)
您的JAVA_HOME看起来像是指向JRE安装,而不是JDK安装。 (错误消息显示它是"C:\Program Files (x86)\Java\jre7"
!)
JRE不包含任何Java开发工具......例如Ant试图加载/使用的javac
Java编译器。
如果您的计算机上确实安装了JDK,那么您需要做的就是更改JAVA_HOME环境变量,使其引用它...而不是JRE。否则, 还需要下载并安装相关的JRE。
答案 2 :(得分:1)
也许JAVA_HOME没有指向 JDK 。
JAVA_HOME目前设置为C:\ Program Files(x86)\ Java \ jre7
这条消息相当有用,而且重点是,不是吗?