Jump to content
View in the app

A better way to browse. Learn more.

Tinkerunity

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Java] Problem auf Raspberry Pi mit aktuellen Bindings

Featured Replies

Geschrieben

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?

Geschrieben

Ü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.

Geschrieben
  • Autor

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?

Geschrieben
  • Autor

Kommando zurück! Die eigene Übersetzung hat doch funktioniert.

Geschrieben

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.

Geschrieben
  • Autor

Hallo,

 

danke.

Mittlerweile habe ich aber meine Raspi auch auf Java 7 umgestellt.

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...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.