| AW: a problem compiling a Java 5 project with generics | AW: a problem compiling a Java 5 project with generics 2006-10-17 - By James Abley
Fails for me:
Ubuntu Dapper, Ant 1.6.5, Sun JDK 1.5.0_07
<project> <javac srcdir="." destdir="."/> </project>
bash:$ ant -v bash:$ touch test/Test3.java bash:$ ant -v
[javac] /work/ant-test/ant-generics/test/Test3.java [javac] /work/ant-test/ant-generics/test/Test3.java:8: incompatible types [javac] found : test.Base [javac] required: test.Sub [javac] public Sub p() {return this.getV();}
Is this a javac issue rather than ANT issue? I can provide more information if required.
James
Jan.Materne@(protected) wrote: > Also no problems .... on WinXP, Ant 1.6.5 and Java 1.5.0_06-b05. > >> setant 165 > Apache Ant version 1.6.5 compiled on June 2 2005 > >> setjava 15 > Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) > Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) > >> del test\*.class > >> ant -v > Project base dir set to: C:\tmp\ant-generics > [javac] build.xml skipped - don't know how to handle it > [javac] test\Base.java added as test/Base.class doesn't exist. > [javac] test\Sub.java added as test/Sub.class doesn't exist. > [javac] test\Test1.java added as test/Test1.class doesn't exist. > [javac] test\Test2.java added as test/Test2.class doesn't exist. > [javac] test\Test3.java added as test/Test3.class doesn't exist. > [javac] Compiling 5 source files to C:\tmp\ant-generics > [javac] Using modern compiler > [javac] Compilation arguments: > [javac] '-d' > [javac] 'C:\tmp\ant-generics' > [javac] '-classpath' > [javac] ' LOT-OF-LIBS-FROM-ANT ' > [javac] '-sourcepath' > [javac] 'C:\tmp\ant-generics' > [javac] '-g:none' > [javac] > [javac] The ' characters around the executable and arguments are > [javac] not part of the command. > [javac] Files to be compiled: > [javac] C:\tmp\ant-generics\test\Base.java > [javac] C:\tmp\ant-generics\test\Sub.java > [javac] C:\tmp\ant-generics\test\Test1.java > [javac] C:\tmp\ant-generics\test\Test2.java > [javac] C:\tmp\ant-generics\test\Test3.java > BUILD SUCCESSFUL > >> ant -v > NOTHING-TO-COMPILE > >> touch test\Test3.java (using Cygwin) > >> ant -v > Project base dir set to: C:\tmp\ant-generics > [javac] build.xml skipped - don't know how to handle it > [javac] test\Base.class skipped - don't know how to handle it > [javac] test\Base.java omitted as test/Base.class is up to date. > [javac] test\Sub.class skipped - don't know how to handle it > [javac] test\Sub.java omitted as test/Sub.class is up to date. > [javac] test\Test1$Inner1.class skipped - don't know how to handle it > [javac] test\Test1.class skipped - don't know how to handle it > [javac] test\Test1.java omitted as test/Test1.class is up to date. > [javac] test\Test2$Inner2.class skipped - don't know how to handle it > [javac] test\Test2.class skipped - don't know how to handle it > [javac] test\Test2.java omitted as test/Test2.class is up to date. > [javac] test\Test3$Inner3.class skipped - don't know how to handle it > [javac] test\Test3.class skipped - don't know how to handle it > [javac] test\Test3.java added as test/Test3.class is outdated. > [javac] Compiling 1 source file to C:\tmp\ant-generics > [javac] Using modern compiler > [javac] Compilation arguments: > [javac] '-d' > [javac] 'C:\tmp\ant-generics' > [javac] '-classpath' > [javac] ' LOT-OF-LIBS-FROM-ANT ' > [javac] '-sourcepath' > [javac] 'C:\tmp\ant-generics' > [javac] '-g:none' > [javac] > [javac] The ' characters around the executable and arguments are > [javac] not part of the command. > [javac] File to be compiled: > [javac] C:\tmp\ant-generics\test\Test3.java > > BUILD SUCCESSFUL > > > > build.xml: > <project> > <javac srcdir="." destdir="."/> > </project> > > > > Jan > > >> -----Urspr?ngliche Nachricht----- >> Von: Peter Reilly [mailto:peter.kitt.reilly@(protected)] >> Gesendet: Dienstag, 17. Oktober 2006 16:44 >> An: Ant Users List >> Betreff: Re: a problem compiling a Java 5 project with generics >> >> On 10/17/06, Jan.Materne@(protected) >> <Jan.Materne@(protected)> wrote: >>> Works for me with Ant 1.6.5 and 1.7beta2 and the given java >> sources (with and without the commented line). >>> <project> >>> <delete dir="." includes="**/*.class"/> >>> <javac srcdir="." destdir="."/> >>> </project> >> This works by itself, but touch Test3.java and run again. >> Peter >>> >>> >>> Jan >>> >>>> -----Urspr?ngliche Nachricht----- >>>> Von: Peter Reilly [mailto:peter.kitt.reilly@(protected)] >>>> Gesendet: Dienstag, 17. Oktober 2006 11:39 >>>> An: Ant Users List >>>> Betreff: Re: a problem compiling a Java 5 project with generics >>>> >>>> Can you enter a bugzilla report about this. >>>> It is very strange. >>>> >>>> I tried on the commandline: >>>> >>>> javac -target 1.5 -g -source 1.5 -sourcepath src -d build\classes >>>> src\org\test\Test3.java >>>> >>>> which works fine - and looks very like the command used by ant. >>>> >>>> Peter >>>> >>>> >>>> On 10/17/06, Chavdar Botev <cbotev@(protected)> wrote: >>>>> Hi >>>>> >>>>> For some reason, the mailing server included only the first >>>>> attachment. Since this is the fourth or the fifth time I am >>>> trying to >>>>> send the java files, I give up. I'll inline them in the message. >>>>> >>>>> // src/test/Base.java >>>>> package test; >>>>> public class Base {} >>>>> >>>>> >>>>> // src/test/Sub.java >>>>> package test; >>>>> public class Sub extends Base {} >>>>> >>>>> // src/test/Test1.java >>>>> package test; >>>>> public class Test1<T extends Base> { >>>>> public class Inner1 { >>>>> protected T v; >>>>> public Inner1(T v) {this.v = v;} >>>>> public T getV() {return this.v;} >>>>> } >>>>> public Inner1 getInner(T v) {return new Inner1(v);} } >>>>> >>>>> // src/test/Test2.java >>>>> package test; >>>>> public class Test2<T extends Base> extends Test1<T> { >>>>> public class Inner2 extends Inner1 { >>>>> public Inner2(T v) {super(v);} >>>>> //public T getV() {return this.v;} >>>>> } >>>>> } >>>>> >>>>> // src/test/Test3.java >>>>> package test; >>>>> public class Test3 extends Test2<Sub> { >>>>> public class Inner3 extends Inner2 { >>>>> public Inner3(Sub v) {super(v);} >>>>> public Sub p() {return this.getV();} >>>>> } >>>>> >>>>> public Inner3 g() { >>>>> return new Inner3(new Sub()); >>>>> } >>>>> } >>>>> >>>>> >>>>> HTH, >>>>> Chavdar >>>>> >>>>> >>>>> On 10/16/06, Petar Tahchiev <paranoiabla@(protected)> wrote: >>>>>> On 17/10/06, Chavdar Botev <cbotev@(protected)> wrote: >>>>>>> Hi! >>>>>>> >>>>>>> I've come accross the following problem trying to >> compile Java >>>>>>> 5 classes with generics using Ant 1.6.5. I've attached >>>> project with >>>>>>> sample Java classes and a build.xml file. >>>>>>> >>>>>>> NOTE: Please create a src/test subdirectory and save the >>>> attached >>>>>>> .java files into it. The mailing list server gave me a hard >>>>>>> time acepting an email with the archived project files. :( >>>>>>> >>>>>>> A clean build of the above project works just fine >> and compiles >>>>>>> without a problem. If after that, I touch the Test3.java >>>> file the >>>>>>> build fails with the following error: >>>>>>> >>>>>> [javac] C:\src\appforge\test\src\test\Test3.java:5: >> incompatible >>>>>> types >>>>>>> [javac] found : test.Base >>>>>>> [javac] required: test.Sub >>>>>>> [javac] public Sub p() {return this.getV();} [javac] >> ^ [javac] >>>>>>> 1 error >>>>>> >>>>>> I must admit that this behaviour is really strange. I am >>>> interested >>>>>> in helping you but the problem is that I didn't receive >> any .java >>>>>> files. Please try to prvide them again. >>>>>> >>>>>> >>>>>> Initially, I thought that this was a problem with the Java >>>> compiler. >>>>>>> After touching Test3.java, I tried running javac manually: >>>>>>> >>>>>>> javac -sourcepath src -d bin -g -source 1.5 -target 1.5 >>>>>>> src\test\*.java >>>>>>> >>>>>>> It turned out that with the above command-line the project >>>>>>> compiled OK. The project also compiles without a problem >>>> in Eclipse 3.2.1. >>>>>>> Am I missing anything? It is my understanding that the >>>> build file >>>>>>> and the command line should produce the same results. >>>>>>> >>>>>>> Upon further experimentation, if I uncomment the method in >>>>>>> Test2.java fixes the problem. Touching Test3.java does >>>> not break the build. >>>>>>> Thanks, >>>>>>> Chavdar >>>>>>> >>>>>>> >>>>>>> >>>> ------------------------------------------------------------------ >>>>>>> --- To unsubscribe, e-mail: >> user-unsubscribe@(protected) For >>>>>>> additional commands, e-mail: user-help@(protected) >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> Regards, Petar! >>>>>> Karlovo, Bulgaria. >>>>>> >>>>>> >>>>> >> ------------------------------------------------------------------- >>>>> -- To unsubscribe, e-mail: user-unsubscribe@(protected) For >>>> additional >>>>> commands, e-mail: user-help@(protected) >>>>> >>>>> >>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: user-unsubscribe@(protected) For >>>> additional commands, e-mail: user-help@(protected) >>>> >>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscribe@(protected) For >> additional >>> commands, e-mail: user-help@(protected) >>> >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscribe@(protected) For >> additional commands, e-mail: user-help@(protected) >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscribe@(protected) > For additional commands, e-mail: user-help@(protected) >
--------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@(protected) For additional commands, e-mail: user-help@(protected)
|
|
 |