Importierte RXTXcomm.jar Datei wird nicht gefunden

maltor

Mitglied
Moin,
Ich arbeite mit Eclipse, möchte eine serielle Schnittstelle ansprechen. Dazu habe ich mir das
Paket RXTXcomm.jar von http://www.rxtx.org heruntergeladen. Diese dann unter Properties->Java Build Path->Libraries->Add External JARs.... eingebunden.


Diese funktioniert unter Eclipse auch super, wenn ich das Programm mit dem Play( Play Button) starte.


Nun möchte ich mein Projekt gerne als Jar exportieren(Export->Jar file). Das Programm startet auch wenn ich auf die jar Datei klicke, aber ich bekomme eine Fehlermeldung , die Klassen von RXTXcomm.jar werden nicht gefunden.


Wenn ich nun das Programm nun normal mit der Konsole (javac main.MeinProg) starten möchte bekomme ich die selbe Fehlermeldung.


Kann mir jemand weiter helfen?


Die Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: gnu/io/CommPortIdentifier
at ioInterfaces.Serial.connect(Serial.java:34)
at etc.ConnectToIo.connect(ConnectToIo.java:64)
at gui.Visual$12.actionPerformed(Visual.java:1173)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
at
.....


Gruß
Malte
 
Hallo,

wenn du deine Anwendung als Jar exportierst musst du die Thrid-Party Bibliotheken trotzdem mitliefern und diese entsprechend Referenzieren (entweder im Class-Path: Attribut deines Jar Manifest.mf Files, oder beim starten des Java Launchers via -classpath -cp).

Do könntest allerdings auch das Fatjar oder das Onejar Plugin benutzen um alle Bibliotheken in ein "Über"-Jar zu verpacken.
http://fjep.sourceforge.net/
http://one-jar.sourceforge.net/

Gruß Tom
 
Schon mal besten Dank,
habe Fat Jar und one jat installiert funktioniert auch, aber leider habe ich noch ein Problem.

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:993)


rxtxSerial.so wird von der RXTXcomm.jar verwendet, diese Datei habe ich in mein lib Ordner zusammen mit der RXTXcomm.jar. In Eclipse unter Java Build Path, musste ich bei der RXTXcomm.jar unter Native library location den lib Orderner angeben.

Nun verstehe ich nicht warum die Datei nicht gefunden wurde.
 
Hallo,

beim Start deiner Anwendung musst du dann auch noch via
java -Djava.library.path=/path/to/rxtxSerial.so -cp .... ...
den Suchpfad zur nativen Lib angeben.
Du könntest natürlich auch den Pfad zu rxtxSerial.so in den LD_LIBRARY_PATH mitaufnehmen. Dann sollte sie auch von der JVM gefunden werden.

Gruß Tom
 
Ich weiß leider nicht wie das genau geht, habe es noch auch nicht hin bekommen.
Kannst du es vielleicht genauer Beschreiben?
 
Zurück