Jump to content

[Java] Problem auf Raspberry Pi mit aktuellen Bindings


Recommended Posts

Hallo,

 

ich habe heute eine Updateorgie gemacht und all meine Bricks, Bricklets und Bindings auf den aktuellen Stand gebracht. Leider funktioniert mein Java-Programm mit den aktuellsten Bindings auf meinem Raspberry Pi nicht mehr, genauer gesagt ab Version 2.0.10.

Wenn ich mein Programm mit dem User "pi" starte, dann erscheinen sofort nach dem Start folgende Meldungen:

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/tinkerforge/IPConnection$DisconnectedListener : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
...

 

Mit dem User "root" ist es etwas anders:

Exception in thread "main" java.lang.NoClassDefFoundError: com/tinkerforge/IPConnection$DisconnectedListener
at ...
Caused by: java.lang.ClassNotFoundException: com.tinkerforge.IPConnection$DisconnectedListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
...

 

Die Java-Version ist 1.6.0_27-b27.

Wie gesagt, bis einschließlich Java Bindings 2.0.9 geht es noch problemlos.

 

Woran liegt das und wie kann ich das Problem beheben?

Link zu diesem Kommentar
Share on other sites

Übersetz die Tinkerforge Sourcen mal selber mit dem Java-Compiler.

Dann müsste es gehen.

 

Das tinkerforge.jar scheint mit Java 7 übersetzt zu sein, Du hast aber ein älteres Java 6 (noch verbreitet, aber schon aus der Wartung...).

 

Der NoClassDefFoundError kommt, wenn das tinkerforge.jar nicht im classpath ist.

Link zu diesem Kommentar
Share on other sites

Hallo,

 

ich habe die Sourcen jetzt mal selbst übersetzt. Leider ohne Erfolg  :(

Der Unterschied ist, dass ich jetzt mit beiden Usern die gleiche Fehlermeldung bekomme:

Exception in thread "main" java.lang.NoClassDefFoundError: com/tinkerforge/IPConnection$DisconnectedListener
at ...
Caused by: java.lang.ClassNotFoundException: com.tinkerforge.IPConnection$DisconnectedListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
...

 

Selbstverständlich habe ich die "Tinkerforge.jar" im Classpath. Ich habe nur das JAR-File ausgetauscht. Die JARs bis 2.0.9 funktionieren, ab 2.0.10 geht es nicht mehr.

Noch eine Idee?

Link zu diesem Kommentar
Share on other sites

Ich hatte Java Bindings Versionen 2.0.10 und 2.0.11 unbeabsichtigter Weise mit Java 7 kompiliert, da ich für Tests Java 7 brauchte und dann nicht daran gedacht hatte meine Java Version wieder zurück auf 6 zu setzen.

 

Ich habe gerade Versionen 2.0.10 und 2.0.11 neu mit Java 6 kompiliert und neu hoch geladen. Damit sollte das Problem behoben sein.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...