# Bad version number in .class file



## Spoocky (7. Sep 2007)

Beim Ausführen von Jpmdbc bekomme ich folgende Fehlermeldung: 

java.lang.UnsupportedClassVersionError: Bad version number in .class file
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.access$100(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Exception in thread "main"

Was das eigentliche Problem ist, kann ich daraus leider nicht erkennen...

Bitte um Unterstützung...


----------



## tuxedo (7. Sep 2007)

Ich finde es "toll" wie Probleme zu ein und derselben Sache sich hier in den vielen einzelnen Unterboards des Forums wiederfinden. Es ist doch ein JDBC-Treiber (den viele nicht kennen weil's ihn noch nicht lange gibt). Warum postest du also nicht im passenden Forum? Und es gibt ja auch noch die jPMdbc Projektseite mit Support-Forum (die scheinbar keiner nutzt?). Aber dafür braucht man natürlich einen java.net Account. Aber egal.



> Bad version number in .class file



Du hast da nicht bemerkt dass es ein Versionsproblem ist, welches sei mal vorerst dahingestellt ??

Der Treiber wurde mit und für Java 5 compiliert. Wenn du jetzt Java 4 benutzt hast du ein Problem. 

Um Unterstützung zu bekommen wär's hilfreich wenn du uns ein paar Infos zukommen lässt. Ich zähl jetzt nicht alles auf, ich geh davon aus, dass auch ein Einsteiger-Programmierer im Stande ist die Randdaten seiner Programmierumgebung zu kennen und zu nennen.

- Alex

P.S. Der Titel "Problem ." ist auch nicht sehr aussagekräftig. -> http://lugbz.org/documents/smart-questions_de.html


----------



## Spoocky (10. Sep 2007)

Ich konnte das Problem nicht genauer beschreiben, weil ich es nicht besser fassen konnte.

Aber Du konntest mir ja schon viel weiterhelfen mit dem Versionsproblem.

Habe herausgefunden, dass ich wohl eine falsche Version von Java benutze, zumindest nach der folgenden Fehlermldung:
class file has wrong version 50.0, should be 49.0

Da ich aber nachgeprüft habe, dass ich Java 1.5 benutze und ich diese Version 1.5 (=49.0) auch benötige, weiss ich jetzt ncht woran es noch liegen kann. Ich habe auch alle anderen Versionen (1.3, 1.4, 1.5, 5, 6), die ich zur Verfügung habe, benutzt, leider ohne Erfolg.

Welche möglichkeit gibt es noch diesen Fehler zu beheben?


----------



## tuxedo (10. Sep 2007)

?? Welche Version des Treibers hast du dir runtergeladen? Bzw. wo hast du dir den Treiber runtergeladen? Die aktuelle Version (und auch die versionen in den letzten wochen), haben alle "49" als Major-Version in den Class-Files. Ergo: Java 5

Die neuste Version bekommst du _immer_ hier:

https://jpmdbc.dev.java.net/ -> "Documents & files" -> Die File mit dem jüngsten Datum, aktuell: 

 jPMdbc build200709101219 rev247
Direkter Link zur File: https://jpmdbc.dev.java.net/files/documents/7479/67681/jpmdbc_0.1-build200709101219.zip

Generell gilt für den Treiber: Dein Programm darf nicht mit einer Java-Version älter als Java 5 compiliert sein. Mit Java 5 und 6 gibts keine Probleme.

Zum Titel: Statt "Problem ." hättest du ja "Bad version number in .class file" nehmen können.


----------



## Spoocky (10. Sep 2007)

Es hat nun funktioniert.

Es lag daran, dass ich die vorletzte Version benutzt habe. Wahrscheinlich hat mich einfach das Wort 'package' dort irritiert...

Nun gut, scheint auch alles seht gut zu funktionieren...
Danke!


----------



## tuxedo (10. Sep 2007)

Hab die alten Files mittlerweile rausgenommen. Denke die haben nur verwirrt.

Wenn du " jPMdbc build200709101219 rev247 " genommen hast, dann bekommst du bei JDBC-Methoden, die der Treiber noch nicht kann eine SQLException die folgendes sagt:

"This method is currently not supported by jPMdbc. Sorry."

Wenn du die andere Version hast, dann bekommst du zum Teil unterschiedlich klingende Exceptions. Hab jetzt in Revision 247 die Meldung überall gleich und vor allem unmissverständlich formuliert.
Nur so als Randhinweis. Naja, wenn du auf eine solche Meldung stößt und die Methode aber brauchst, dann melde dich einfach. Werde so Stück für Stück nachimplementieren. Weil: Alles auf einmal und ohne "Bedarf seitens der User" .. dafür fehlt mir gerade etwas die Zeit.

- Alex


----------

