2013-02-19 15 views
10

Zajmuję się tworzeniem aplikacji w Javie przy użyciu środowiska Eclipse IDE. My os to Ubuntu 11. Moja aplikacja używa biblioteki RXTX (gnu.io. *) do komunikacji szeregowej. Dodałem plik RXTXomm.jar do projektu, robiąc to (projekt-> Właściwości-> ścieżka java java-> dodaj zewnętrzne słoiki). za każdym razem, gdy uruchomię mój kod, otrzymuję ten błąd.Jak dodać plik rxtxSerial do pliku java.library.path?

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 

Próbowałem nawet zainstalować librxtx-java.deb. ale to nie rozwiązało problemu. Przeszukałem system plików i odkryłem, że plik librxtxSerial.so znajduje się w/usr/lib/jni.

Jak mogę rozwiązać ten problem?

góry dzięki

Odpowiedz

15

Znajdź swój słoik w projekcie -> Właściwości -> Java Build Path. Kliknij przycisk +, aby otworzyć właściwości JAR, wybierz lokalizację biblioteki Native i zmodyfikuj ją tak, aby wskazywała wspólną bibliotekę RXTX (.DLL, .so, .dylib).

+0

dziękuję mężczyzna pracował idealnie! –

+3

Jak zrobiłbyś to w Netbeans? – DevilCode

+2

Nie wiem, nie jestem użytkownikiem Net beans. Wyszukaj SO, Google, ... Jeśli to nie odpowiada, utwórz nowe pytanie (zamiast komentarza). – martijno

2

Jedną z metod jest ustawienie opcji java.library.path w konfiguracji konfiguracji Eclipse dla twojego projektu. Możesz edytować argumenty VM na zakładce Argumenty swojej konfiguracji przebiegu (kilka sposobów na dostęp do tego obejmuje kliknięcie prawym przyciskiem myszy na projekt-> Uruchom jako-> Uruchom konfiguracje ... i Uruchom menu-> Uruchom konfiguracje ...).

Jeśli utworzysz katalog lib w katalogu głównym projektu i umieścisz kopię biblioteki RXTX w katalogu lib, możesz użyć następującego argumentu VM (zastępując nazwę ProjName nazwą projektu).

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

Edytowane w celu dodania niektórych opcji do konfiguracji uruchamiania dla twojego projektu. Odpowiedź @martijno daje szybszy i bardziej przejrzysty wynik, ale czasami wolę ten sposób, ponieważ sprawia, że ​​rzeczy stają się bardziej widoczne, szczególnie podczas wciągania wielu zależności. – kevind7

2

Otwórz terminal (Ctrl + Alt + T) i sprawdzić:

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

następnie uruchomić:

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

Dodaj cytaty dotyczące '' "$ JAVA_HOME/jre/lib/i386 /" '' –

Powiązane problemy