"javac" 1.4 nicht mehr abwärtscompatible?
Ed X
- java
0 Simon Reinhardt0 Daniel Thoma0 Ed X
Hi,
ich hab mir den 1.4er SDK von SUNinstalliert und lustig rumprobiert.
Als ich dann mit Applets rumgespielt habe, lief alles soweit gut, da ich
alles im mozilla mit dem 1.4er Plugin gestestet habe. Später habe ich
dann mal den IE mit der internen VM bemüht, und siehe da, er tut's nicht
:-(, nölt rum von wegen und "load: class HelloWorldApplet not found"
Wie zu sehen habe ich wirklich alle Schwierigkeiten herabgesetzt->
HelloWorld, es ist kein Swing-fehler!
Also NN4.79 befragt und siehe da er wird präziser:
"HelloWorldApplet error: java.lang.classFormatError: Bad major version number"
Das ist zwar so nicht korrekt, aber er gibt wenigstens den Hinweis, dass
er java.lang nicht findet, was ja bei jedem aufruf der VM per default
importiert wird.
Irgenwie hatte ich dann den Compiler in Verdacht und habe den JIKES
bemüht. Er tuts.
Jetzt stellt sich für mich die Frage, nach dem ich bei sun keinen
Hinweiß gefunden habe, ist der 1.4er Compiler nicht mehr abwärts-
kopatibel? Wer weiß genaueres. Oder ist bei mir was falsch
konfiguriert?
bye eddie
Also bin ich auf Verdächtigenjagd gegeangen
Hi!
Jetzt stellt sich für mich die Frage, nach dem ich bei sun keinen
Hinweiß gefunden habe, ist der 1.4er Compiler nicht mehr abwärts-
kopatibel? Wer weiß genaueres. Oder ist bei mir was falsch
konfiguriert?
Das wär aber nicht weiter verwunderlich. Denn 1.3 war ja auch nicht abwährtskompatibel, oder?
VG Simon
Hallo eddie
Der Javabytecode von javac 1.4 ist tatsächlich nicht mehr auf älteren VMs lauffähig. Das liegt wohl an dem neuen assert Statement. Es gibt allerdings eine Compileroption um alten Bytecode zu erzwingen.
Grüße
Daniel
Hallo Daniel,
Der Javabytecode von javac 1.4 ist tatsächlich nicht mehr auf älteren VMs lauffähig. ... Es gibt allerdings eine Compileroption um alten Bytecode zu erzwingen.
...und da hätte man drauf kommen können, indem man "javac -help" einhackt,
statt sich erfolglos über die gesamte SUN-Website zu quälen, aaaarrrgh...
Wer's wissen will, der Befehl ist "javac -target 1.1", zumindest für
Applets, die auf browserinternen VM's laufen sollen...
Danke,
bye eddie