Zum Inhalt springen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

Gothmog

SelectBF - Java Problem

Empfohlene Beiträge

HalliHallo!

Endi und ich haben den halben gestrigen Tag versucht, dieses Stats-Script bei uns zu installieren: SelectBF.

Soweit hat auch alles hingehauen. Nur das Ausführen des Parsers, der die BF42 Logdateien (XML) einliest und in die Datenbank schreiben soll, lässt sich nicht ausführen. beim Ausführen des Scripts, welches aus diesem Code besteht:

#!/bin/sh

cd /games/selectbf/bin

/usr/lib/jvm/java-1.4.2-sun-1.4.2.06/jre/bin/java -cp ./selectbf.jar:../lib/commons-net-1.3.0.jar:../lib/mysql-connector-java-3.1

.7-bin.jar:../lib/jdom.jar: org.selectbf.SelectBf

mittels des Befehls ./selectbf.sh

kommt nur folgende Fehlermeldung:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/selectbf/SelectBf (Unsupported major.minor version 50.0)

at java.lang.ClassLoader.defineClass0(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:539)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)

at java.net.URLClassLoader.access$100(URLClassLoader.java:55)

at java.net.URLClassLoader$1.run(URLClassLoader.java:194)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:187)

at java.lang.ClassLoader.loadClass(ClassLoader.java:289)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)

at java.lang.ClassLoader.loadClass(ClassLoader.java:235)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

Als Betriebssystem läuft dort Suse Linux 9.3 und die Javaversion ist

java version "1.4.2_06"

Java 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)

Java HotSpot Client VM (build 1.4.2_06-b03, mixed mode)

Hat jemand n Hinweis, woran das liegen könnte? Wir vermuten, dass dieser Fehler mit Java selber zusammenhängt und weniger mit dem Stats-Script, welches aber Java braucht.

Ansonsten haben wir uns exakt an die Anleitung gehalten. Pfade sollten überall komplett richtig sein. Datenbanktabellen wurden durch die Setup auch korrekt geschrieben.

Zur Serveraufteilung: Script läuft auf einem V-Root Server, auf dem auch die HP liegt. Der BF42 Server wiederum liegt auf einem 2ten Root.

Mfg Gothmog

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi!

Oh vielen Dank! Erstaunlicherweise hat er mir dies in der Suche nicht angezeigt. Werd's ma probieren.

Gruß

Gothi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi!

Dank Skywalkers super Hilfe ( über ICQ gings nach Stunden dann erfolgreich zu Ende :-) ) funzt nun mittlerweile so gut wie alles.

Auch an dieser Stelle noch einmal Tausend Dank!! :daumenhoch::daumenhoch:

Mfg Gothi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe bei der Installation von SelectBF auf Linux folgendes Problem:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/selectbf/SelectBf (Unsupported major.minor version 50.0)

		at java.lang.ClassLoader.defineClass0(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)

Ich habe es mit folgenden Java Versionen getestet:

Als Packete entpackt:

- j2re1.4.2_18

- jre1.6.0_12

- jre1.6.0_13

Installiert:

java version "1.6.0_10"

jetzt dürft ihr mir helfen!

MSN: snoopuw@live.de

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

"UnsupportedClassVersionError"

Wenn du versuchst eine Klasse innerhalb eines alten JRE's auszuführen welche mittels eines neueren Java Compilers kompiliert wurde kann der Fehler auftauchen, da die Klasse nicht supported wird. Neue Klassen akzeptieren eine alte Runtime nicht ohne weiteres die Java Laufzeitumgebung ist zwar abwärts kompatibel d.h. auf ihr kann man Klassen laufen lassen die mit einem älteren JDK kompiliert wurden, aber das geht m.W. nicht wirklich umgekehrt.

Schaust du hier:

http://www.dpunkt.de/java/Referenz/Das_Pak...va.lang/79.html

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das heißt dass ich mit neuen JRE's alte Klassen ausführen kann?

Wie kann ich das Problem lösen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

So die alten sachen gelöscht.

jetzt kommt folgender Fehler:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Layout

Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Layout

		at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

		at java.security.AccessController.doPrivileged(Native Method)

		at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

		at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

		at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

		at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

		at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

Could not find the main class: org.selectbf.SelectBf.  Program will exit.
is also immernoch da :( hier mal meine selectbf.sh
#!/bin/sh

java -cp ./selectbf.jar:../lib/connectorj.jar:../lib/jdom.jar: org.selectbf.SelectBf

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Pfad deiner Umgebungsvariablen stimmt scheinbar nicht.

http://www.dpunkt.de/java/Referenz/Das_Pak...va.lang/46.html

Also, soweit ich mich entsinne kam der Fehler wenn man bei der Umgebungsvariablen CLASSPATH einen Fehler hat (zeigt nicht auf jar file sondern z.B. nur auf das Verzeichnis mit den jar Dateien.

Aber ich habe irgendwie im Hinterkopf das es CLASSPATH nicht mehr gibt/nötig ist (bin leider etwas raus bei JAVA) und hab jetzt keine Zeit mir das reinzuziehen.

PATH muß übrigens auf die ausführbaren Programme und auf die Java-Libarys zeigen.

Edit:

Schau mal hier:

http://www.experts-exchange.com/Programmin...Q_23347638.html

Link zu diesem Kommentar
Auf anderen Seiten teilen

HalliHallo!

Ich in leider auch nicht der Linuxexperte und war heilfroh, dass mir der Skywalker unglaublich viel und gut helfen konnte. Ich kann auch leider nicht mehr ganz genau sagen, wo das Problem lag. Auf jeden Fall waren die originalen Angaben in der .sh Datei nicht ok. Meine sieht nun so aus:

#!/bin/sh

cd /games/selectbf/bin

/usr/lib/jvm/java-1.5.0-sun-1.5.0_03/jre/bin/java -cp ./selectbf.jar:../lib/commons-net-1.3.0.jar:../lib/mysql-connector-java-3.1.7-bin.jar:../lib/jdom.jar:../lib/jakarta-oro-2.0.8.jar:../lib/log4j-1.2.9.jar: org.selectbf.SelectBf

Müssteste mal schauen, ob's irgendwie auch bei Dir daran liegen könnte.

Gruß

Gothmog

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey ich habe deinen Code übernommen und dann habe ich folgenden fehler bekommen:

16:09:10,469 INFO  selectbf.SelectBf			  - select(bf) 0.5 - A Battlefield XML Log File Parser

16:09:10,498 INFO  selectbf.SelectBf			  - ----------------------------------------------------

16:09:10,498 INFO  selectbf.SelectBf			  - Copyright (C) 2005 Tim Adler

16:09:10,498 INFO  selectbf.SelectBf			  - Published under GPL http://www.gnu.org/licenses/gpl.txt

16:09:10,498 INFO  selectbf.SelectBf			  - This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY

16:09:10,499 INFO  selectbf.SelectBf			  - without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

16:09:10,499 INFO  selectbf.SelectBf			  - Available at http://www.selectbf.org

16:09:10,499 INFO  selectbf.SelectBf			  - ----------------------------------------------------



Using Database-Config as follows:

xxxx@???:xxxx

User: xxxxx  Password:xxx

---------------------------------------------------

Exception in thread "main" java.lang.NoClassDefFoundError: com/mysql/jdbc/Messages

		at org.selectbf.config.DirConfig.<clinit>(DirConfig.java:13)

		at org.selectbf.SelectBf.run(SelectBf.java:102)

		at org.selectbf.SelectBf.main(SelectBf.java:666)

Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Messages

		at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

		at java.security.AccessController.doPrivileged(Native Method)

		at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

		at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

		at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

		at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

		at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

		... 3 more

Das heißt, dass das Script schonmal anläuft! Super!

Wer diesen Fehler in zukuft bekommt kann die mysql-connector java datei einfach updaten.

dann klappts.

Danke jungs!

Hang Loose

Link zu diesem Kommentar
Auf anderen Seiten teilen



  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.