instead of running cmd.exe, run javac directly ?
Guillaume
Venkat Reddy wrote:
I know. If the basic idea really works for you atleast on windows, it
gives the hint and you can always find an equivalent command for other
platforms :-)
- venkat
On 8/11/05, Eran Chinthaka <[EMAIL PROTECTED]> wrote:
Small problem. IMHO, this will work only in windows. You have used cmd.exe.
Ajith,
I used the following code to get the value of environment variable
"JAVA_HOME" instead of sysetm variable "java.home" which always points
to jre.
public static String getEnv(String env) throws Exception { //
env="JAVA_HOME"
Properties envVars = new Properties();
Runtime r = Runtime.getRuntime();
Process p = r.exec( "cmd.exe /c set" );
BufferedReader br = new BufferedReader ( new
InputStreamReader( p.getInputStream() ) );
for (String line; (line = br.readLine()) != null; ) {
int idx = line.indexOf( '=' );
String key = line.substring( 0, idx );
if (key.equals(env))
return line.substring( idx+1 );
}
return "";
}
- venkat
On 8/9/05, Guillaume Sauthier <[EMAIL PROTECTED]> wrote:
Hi Ajith
java.home sysprop is always pointing to the JRE directory.
In JOnAS, when we launch the javac command, we have to use this little
code snippet to get a real java.home (a JDK home)
javaHomeBin = System.getProperty("java.home", "");
if (!("".equals(javaHomeBin))) {
if (Env.isOsMacOsX()) {
javaHomeBin = javaHomeBin + File.separator + "bin" +
File.separator;
} else {
javaHomeBin = javaHomeBin + File.separator + ".." +
File.separator + "bin" + File.separator;
}
}
Maybe you can use this and reassign the java.home sysprop ?
Bye
Guillaume
Ajith Ranabahu wrote:
Hi all,
I am writing an end to end test case for the code generator. To
compile the generated code I use the Javac task from Ant. However I
've come across some problems, specially a weird problem where the
'java.home' appears to be pointing to the Java runtime instead of the
JDK home.
Here are the details of the problem
I've used the Javac class (from Ant) to run the compiler. When I run
the compiler I get an error message saying "Unable to find compiler,
Perhaps the JAVA_HOME is pointing to the correct place". I've gone
through the Javac code and then figured out that the compiler is
searched using the 'java.home' directory. Strangely I have my
JAVA_HOME pointed to c:\java\jdk1.4 but the 'java.home' system
property points to the c:\java\jdk1.4\jre directory (where there is no
reference to the tools.jar) and the compile task fails miserably :(. I
did some tests and figured that the value of the java.home system
property changes according to the environment you run java !
Currently the compile code is commented.
Any pointer is appreciated
Thanks
--
Ajith Ranabahu