From: Andreas Leitgeb on 17 Jun 2010 08:40 Where could I find some table, giving overview of which version of javac produced which major/minor class-version? e.g.: (checking all 'javac's available on a particular machine) 1.4.2_16 produces 46/0 1.5.0_09 produces 49/0 1.6.0_17 produces 50/0 Seemingly there were a few steps between 1.4.2_16 and 1.5.0_09 and I'd like to know which range of versions produced 47 and 48. (without test-installing every old jdk that (I don't need versions older than 46/0 for now.) PS: I know these versions are old - even up to the 1.6 one used here.
From: Paul Cager on 17 Jun 2010 09:39 On Jun 17, 1:40 pm, Andreas Leitgeb <a...(a)gamma.logic.tuwien.ac.at> wrote: > Where could I find some table, giving overview of which > version of javac produced which major/minor class-version? > > e.g.: (checking all 'javac's available on a particular machine) > 1.4.2_16 produces 46/0 > 1.5.0_09 produces 49/0 > 1.6.0_17 produces 50/0 > > Seemingly there were a few steps between 1.4.2_16 and 1.5.0_09 > and I'd like to know which range of versions produced 47 and 48. > (without test-installing every old jdk that > (I don't need versions older than 46/0 for now.) > > PS: I know these versions are old - even up to the 1.6 one used > here. I believe it is: major minor JDK 46 0 1.2 47 0 1.3 48 0 1.4 49 0 1.5 50 0 1.6 But don't forget that the 1.4 compiler generated 1.2 compatible classfiles by default (http://java.sun.com/j2se/1.4.2/docs/tooldocs/ windows/javac.html). Therefore your classfiles generated by 1.4 javac have version 46 (1.2 format)
From: Andreas Leitgeb on 17 Jun 2010 11:07 Paul Cager <paul.cager(a)googlemail.com> wrote: > On Jun 17, 1:40 pm, Andreas Leitgeb <a...(a)gamma.logic.tuwien.ac.at> wrote: >> Where could I find some table, giving overview of which >> version of javac produced which major/minor class-version? > > I believe it is: > > major minor JDK > 46 0 1.2 > 47 0 1.3 > 48 0 1.4 > 49 0 1.5 > 50 0 1.6 > > But don't forget that the 1.4 compiler generated 1.2 compatible > classfiles by default (http://java.sun.com/j2se/1.4.2/docs/tooldocs/ > windows/javac.html). Therefore your classfiles generated by 1.4 javac > have version 46 (1.2 format) Ah, thanks a lot! That was the crucial detail that I had forgotten... It all makes sense now.
From: Roedy Green on 17 Jun 2010 15:38 On 17 Jun 2010 12:40:17 GMT, Andreas Leitgeb <avl(a)gamma.logic.tuwien.ac.at> wrote, quoted or indirectly quoted someone who said : >version of javac produced which major/minor class-version? > >e.g.: (checking all 'javac's available on a particular machine) > 1.4.2_16 produces 46/0 > 1.5.0_09 produces 49/0 > 1.6.0_17 produces 50/0 see http://mindprod.com/products1.html#JARCHECK -- Roedy Green Canadian Mind Products http://mindprod.com There is no harm in being sometimes wrong especially if one is promptly found out. ~ John Maynard Keynes (born: 1883-06-05 died: 1946-04-21 at age: 62)
From: Arne Vajhøj on 17 Jun 2010 20:25
On 17-06-2010 08:40, Andreas Leitgeb wrote: > Where could I find some table, giving overview of which > version of javac produced which major/minor class-version? > > e.g.: (checking all 'javac's available on a particular machine) > 1.4.2_16 produces 46/0 > 1.5.0_09 produces 49/0 > 1.6.0_17 produces 50/0 > > Seemingly there were a few steps between 1.4.2_16 and 1.5.0_09 > and I'd like to know which range of versions produced 47 and 48. > (without test-installing every old jdk that > (I don't need versions older than 46/0 for now.) http://en.wikipedia.org/wiki/Class_file has a list. incl. a link to http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#75883 so the info is available. As already noted by others then the 1.4.2 number you got must be due to -target. Arne |