2013-02-19 3 views
10

Я разрабатываю приложение на Java с помощью Eclipse IDE. Мой os - Ubuntu 11. Мое приложение использует библиотеку RXTX (gnu.io. *) для последовательной связи. Я добавил файл RXTXomm.jar в проект, выполнив это (project-> Properties-> java buld path-> добавить внешние банки). всякий раз, когда я запускаю свой код, он дает мне эту ошибку.Как добавить rxtxSerial в 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 

Я даже попытался установить librxtx-java.deb. но это не устранило проблему. Я искал в файловой системе и обнаружил, что librxtxSerial.so находится в/usr/lib/jni.

Как исправить эту проблему?

Заранее спасибо

ответ

15

Найди банку в Project -> Свойства -> Java Build Path. Нажмите на кнопку +, чтобы открыть свойства JAR, выберите папку Native library и отредактируйте ее, чтобы указать на общую библиотеку RXTX (.DLL, .so, .dylib).

+0

спасибо много человек он работал отлично! –

+3

Как вы это сделаете в Netbeans? – DevilCode

+2

Я не знаю, я не являюсь пользователем Net beans. Поиск SO, Google, ... Если это не ответит на него, сделайте новый вопрос (а не комментарий). – martijno

2

Один из способов - установить java.library.path в конфигурации запуска Eclipse для вашего проекта. Вы можете отредактировать аргументы VM на вкладке «Аргументы» вашей конфигурации запуска (несколько способов доступа к ней включают в себя щелчок правой кнопкой мыши по проекту-> «Запустить как» - «Запуск конфигурации» и «Выполнить» - «Запустить конфигурации ...»).

Если вы создаете каталог lib в корневом каталоге вашего проекта и размещаете копию библиотеки RXTX в каталоге lib, вы можете использовать следующий аргумент VM (заменяя имя ProjName на название вашего проекта).

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

Отредактировано, чтобы добавить некоторые параметры, чтобы перейти к конфигурации запуска для вашего проекта. Ответ от @martijno дает более быстрый и чистый результат, но я иногда предпочитаю этот способ, потому что он делает вещи более заметными, особенно при использовании нескольких зависимостей. – kevind7

2

Открыть терминал (Ctrl + Alt + T) и проверьте:

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

затем запустить:

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

Добавить цитаты вокруг '' '$ JAVA_HOME/jre/lib/i386 /" '' –

Смежные вопросы