La razón es larga y aburrida, pero necesito ejecutar un script Ant para compilar código Java 1.5 desde una aplicación Java 1.4. Quiero evitar este error, sin embargo:Configuración de JAVA_HOME al ejecutar Ant desde Java
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"
En mi código, que tengo:
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
pero lo ignora. También probé p.setUserProperty (String, String), pero eso tampoco funciona. ¿Hay alguna manera de hacerlo sin iniciar un proceso por separado?
FYI: 'java.home' debe ajustarse a' $ JAVA_HOME/jre', no a sí mismo '$ JAVA_HOME'. –