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
>
>
>