You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by de...@canoo.com on 2001/12/18 10:16:46 UTC

javac with different Java compilers.

hi all,

I got a bit stuck during a proces automation and would appreciate your help.
heres the picture.

I run ant todo all the java compile and many other things as well.
but the java compile is what worries me the most right now.

I run <javac ..> with noFork (in the same VM than the ant process)
I do that mainly because of some classpath calculations.
I now need to compile various java code with a different JavaVM (1.2.2)
So I thought I will set JAVA_HOME to the right directory where my java1.2.2 is
installed and run the script again.
now the trouble starts -
a. since IM in the same VM I cant change my javac compiler during runtime.
b. if I run it externally it still wont use the correct JAVA_HOME environment.


the idea was now to use <exec..> somehow to compile with different javac
locations. but I also skipped this as I dont think thats the way to solve this.

Has anybody got a solution for this problem ?

regards,
detlef

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: javac with different Java compilers.

Posted by Diane Holt <ho...@yahoo.com>.
--- detlef.brendle@canoo.com wrote:
> using the suggested fork parameter instead of 'true' doesnt do any good
> to me.
> if I specify a location where there is no javac such as 
> fork="c:/develop/java/jdk1.3.1/imaginary/javac"
> it still uses 'some' other javac compiler instead.
> I need to find out where it gets the location from.

I don't think you'd need to fork and run a different 'javac' -- I think
all you need to do is what I suggested before, which is to get rid of all
the classpath that <javac> would ordinarily pass (except including your
"destdir") and supply your own classpath for the JDK version you need at
that point. For example, I run 'ant' with JDK1.3, but if I wanted to
compile against just the 1.1.8 classes, I'd use something like:

  <target name="compile118">
    <javac
      includeJavaRuntime="no"
      includeAntRuntime="no"
      bootclasspath="${nowhere}"
      srcdir="${basedir}"
      destdir="${outdir}"
      includes="Test.java">
      <classpath>
        <pathelement location="${jdk118}/classes.zip"/>
      </classpath>
    </javac>
  </target>

Diane

=====
(holtdl@yahoo.com)



__________________________________________________
Do You Yahoo!?
Check out Yahoo! Shopping and Yahoo! Auctions for all of
your unique holiday gifts! Buy at http://shopping.yahoo.com
or bid at http://auctions.yahoo.com

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: javac with different Java compilers.

Posted by de...@canoo.com.
hi stefan ,
using the suggested fork parameter instead of 'true' doesnt do any good to me.
if I specify a location where there is no javac such as 
fork="c:/develop/java/jdk1.3.1/imaginary/javac"
it still uses 'some' other javac compiler instead.
I need to find out where it gets the location from.

detlef,

btw: Im using ant 1.4.1 and the fork field still is boolean.

Quoting Stefan Bodewig <bo...@apache.org>:

> On Tue, 18 Dec 2001, detlef brendle <de...@canoo.com> wrote:
> 
> > b. if I run it externally it still wont use the correct JAVA_HOME
> > environment.
> 
> fork="your\path\to\javac" should work.  The documentation needs an
> update, but if you use something different than
> on/off/yes/no/true/false,
> Ant will assume it is the full path to the compiler.
> 
> Now you will want to set the include*runtime attributes to false and
> take complete control over your classpath.
> 
> Stefan
> 
> --
> To unsubscribe, e-mail:  
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
> 
> 

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: javac with different Java compilers.

Posted by Stefan Bodewig <bo...@apache.org>.
On Tue, 18 Dec 2001, detlef brendle <de...@canoo.com> wrote:

> b. if I run it externally it still wont use the correct JAVA_HOME
> environment.

fork="your\path\to\javac" should work.  The documentation needs an
update, but if you use something different than on/off/yes/no/true/false,
Ant will assume it is the full path to the compiler.

Now you will want to set the include*runtime attributes to false and
take complete control over your classpath.

Stefan

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: javac with different Java compilers.

Posted by Diane Holt <ho...@yahoo.com>.
--- detlef.brendle@canoo.com wrote:
> no I dont think so as it only generates class files for major java
> versions. I need to use compilers with minor releases too / such as
> 1.2.2_01 or 1.3.0_02

You should be able to get rid of everything in <javac>'s default classpath
(except the dir pointed to by "destdir"), then just build up the classpath
you need for the releases you want to compile against.

P.S. This type of question should really go to ant-user instead of
ant-dev.

Diane


=====
(holtdl@yahoo.com)



__________________________________________________
Do You Yahoo!?
Check out Yahoo! Shopping and Yahoo! Auctions for all of
your unique holiday gifts! Buy at http://shopping.yahoo.com
or bid at http://auctions.yahoo.com

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: javac with different Java compilers.

Posted by de...@canoo.com.
no I dont think so as it only generates class files for major java versions.I 
need to use compilers with minor releases too / such as 1.2.2_01 or 1.3.0_02


detlef
Quoting Erik Hatcher <ja...@ehatchersolutions.com>:

> Would <javac>'s 'target' attribute solve this problem?
> 
> 
> ----- Original Message -----
> From: <de...@canoo.com>
> To: "Ant Developers List" <an...@jakarta.apache.org>
> Sent: Tuesday, December 18, 2001 4:16 AM
> Subject: javac with different Java compilers.
> 
> 
> > hi all,
> >
> > I got a bit stuck during a proces automation and would appreciate your
> help.
> > heres the picture.
> >
> > I run ant todo all the java compile and many other things as well.
> > but the java compile is what worries me the most right now.
> >
> > I run <javac ..> with noFork (in the same VM than the ant process)
> > I do that mainly because of some classpath calculations.
> > I now need to compile various java code with a different JavaVM
> (1.2.2)
> > So I thought I will set JAVA_HOME to the right directory where my
> java1.2.2 is
> > installed and run the script again.
> > now the trouble starts -
> > a. since IM in the same VM I cant change my javac compiler during
> runtime.
> > b. if I run it externally it still wont use the correct JAVA_HOME
> environment.
> >
> >
> > the idea was now to use <exec..> somehow to compile with different
> javac
> > locations. but I also skipped this as I dont think thats the way to
> solve
> this.
> >
> > Has anybody got a solution for this problem ?
> >
> > regards,
> > detlef
> >
> > --
> > To unsubscribe, e-mail:  
> <ma...@jakarta.apache.org>
> > For additional commands, e-mail:
> <ma...@jakarta.apache.org>
> >
> >
> 
> 
> --
> To unsubscribe, e-mail:  
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
> 
> 

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: javac with different Java compilers.

Posted by Erik Hatcher <ja...@ehatchersolutions.com>.
Would <javac>'s 'target' attribute solve this problem?


----- Original Message -----
From: <de...@canoo.com>
To: "Ant Developers List" <an...@jakarta.apache.org>
Sent: Tuesday, December 18, 2001 4:16 AM
Subject: javac with different Java compilers.


> hi all,
>
> I got a bit stuck during a proces automation and would appreciate your
help.
> heres the picture.
>
> I run ant todo all the java compile and many other things as well.
> but the java compile is what worries me the most right now.
>
> I run <javac ..> with noFork (in the same VM than the ant process)
> I do that mainly because of some classpath calculations.
> I now need to compile various java code with a different JavaVM (1.2.2)
> So I thought I will set JAVA_HOME to the right directory where my
java1.2.2 is
> installed and run the script again.
> now the trouble starts -
> a. since IM in the same VM I cant change my javac compiler during runtime.
> b. if I run it externally it still wont use the correct JAVA_HOME
environment.
>
>
> the idea was now to use <exec..> somehow to compile with different javac
> locations. but I also skipped this as I dont think thats the way to solve
this.
>
> Has anybody got a solution for this problem ?
>
> regards,
> detlef
>
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
>
>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>