原因又长又无聊,但我需要运行 Ant 脚本来从 Java 1.4 应用程序编译 Java 1.5 代码。不过,我不断收到此错误:
BUILD FAILED
build.xml:16: 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:\j2sdk1.4.2_16\jre"
在我的代码中,我有:
Project p = new Project();
p.setUserProperty("ant.file", buildFile.getAbsolutePath());
p.setProperty("java.home", "C:\Program Files\Java\jdk1.6.0_04");
p.fireBuildStarted();
p.init();
// so on and so forth
但它忽略了它。我也尝试过 p.setUserProperty(String, String),但这也不起作用。有没有办法在不启动单独进程的情况下做到这一点?
您的构建文件中的 javac 任务是否有fork="yes"
?如果没有,那么什么都没有关系java.home
属性设置为; ant 将尝试调用 javacMain
同一java进程中的方法,从你的错误来看,它是JRE,而不是JDK。
EDIT尝试设置executable
javac 任务的属性为完整路径javac
二进制并添加compiler="extJavac"
到任务。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)