2013-02-19 24 views
10

Ich entwickle eine Anwendung in Java mit Eclipse IDE. Mein os ist Ubuntu 11. Meine Anwendung verwendet die RXTX-Bibliothek (gnu.io. *) für die serielle Kommunikation. Ich habe die RXTXomm.jar-Datei im Projekt hinzugefügt, indem Sie dies tun (Projekt-> Eigenschaften-> Java Buld Pfad-> externe Jars hinzufügen). immer wenn ich meinen Code laufen lasse, gibt es mir diesen Fehler.Wie fügt man rxtxSerial in java.library.path hinzu?

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading 
gnu.io.RXTXCommDriver 
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial in 
java.library.path 

Ich habe sogar versucht, librxtx-java.deb zu installieren. aber es hat das Problem nicht behoben. Ich suchte im Dateisystem und fand, dass sich librxtxSerial.so in/usr/lib/jni befindet.

Wie kann ich dieses Problem beheben?

Vielen Dank im Voraus

Antwort

15

in Project Finden Sie Ihr Glas -> Eigenschaften -> Java Build-Pfad. Klicken Sie auf +, um die JAR-Eigenschaften zu öffnen, wählen Sie Native library location und bearbeiten Sie sie, um auf die freigegebene Bibliothek von RXTX (.DLL, .so, .dylib) zu zeigen.

+0

Dank viel Mann es funktionierte perfekt! –

+3

Wie würdest du das in Netbeans machen? – DevilCode

+2

Ich weiß nicht, ich bin kein Net-Beans-Benutzer. Suchen Sie SO, Google, ... Wenn das nicht beantwortet wird, stellen Sie eine neue Frage (anstelle eines Kommentars). – martijno

2

Eine Methode besteht darin, java.library.path in der Eclipse-Ausführungskonfiguration für Ihr Projekt festzulegen. Sie können VM-Argumente auf der Registerkarte "Argumente" Ihrer Ausführungskonfiguration bearbeiten (Sie haben mehrere Möglichkeiten, auf dieses zuzugreifen, klicken Sie mit der rechten Maustaste auf Projekt-> Ausführen unter-> Konfigurationen ausführen ... und dann auf Menü Ausführen-> Konfigurationen ausführen ...).

Wenn Sie ein lib-Verzeichnis im Stammverzeichnis Ihres Projekts erstellen und eine Kopie der RXTX-Bibliothek in das lib-Verzeichnis kopieren, können Sie das folgende VM-Argument verwenden (indem Sie ProjJName durch den Namen Ihres Projekts ersetzen).

-Djava.library.path=${project_loc:ProjName}/lib 
+0

Bearbeitet, um einige Optionen hinzuzufügen, um die Run-Konfiguration für Ihr Projekt zu erhalten. Die Antwort von @martijno liefert ein schnelleres und saubereres Ergebnis, aber manchmal bevorzuge ich diesen Weg, weil es die Dinge besser sichtbar macht, besonders wenn man mehrere Abhängigkeiten zieht. – kevind7

2

Terminal öffnen (Strg + Alt + T) und prüfe:

echo $JAVA_HOME 
# JDKDIR : /usr/lib/jvm/java-7-oracle 

dann laufen:

sudo cp /usr/lib/jni/librxtxSerial.so $JAVA_HOME/jre/lib/i386/ 
+0

Fügen Sie Anführungszeichen um '' "$ JAVA_HOME/jre/lib/i386 /" '' hinzu –

Verwandte Themen