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



Reply via email to