Réglage JAVA_HOME lors de l'exécution de la Fourmi à partir de Java

La raison est long et chiant, mais j'ai besoin d'exécuter un script Ant pour compiler Java 1.5 code à partir d'un programme Java 1.4 application. Je reçois cette erreur:

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"

Dans mon code, j'ai:

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

mais il l'ignore. J'ai aussi essayé de p.setUserProperty(String, String), mais ce n'est pas faire l'affaire, non plus. Est-il un moyen de le faire sans avoir à lancer un processus distinct?

FYI: java.home doit être mis à $JAVA_HOME/jre, de ne pas $JAVA_HOME lui-même.

OriginalL'auteur Adam Crume | 2009-03-16