2014-02-13 8 views
0

Я создаю приложение для получения данных GPS NMEA, с последовательным портом связи через RXTX. На моем Mac он отлично работает. Когда я пытаюсь запустить его на моем Rasp Pi, он бросает ошибку:Файл отсутствует в java.library.path

no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver 

На Mac, я вижу, что если я перееду /Library/Java/Extensions/librxtxSerial.jnilib он тоже бросает ту же ошибку.

Мой вопрос: На моем RasbPi мне нужно добавить этот файл rxtxSerial где-нибудь в папку (возможно, в JVM?), Или он должен быть упакован с исполняемым банком при экспорте. Является ли моя проблема на моем Mac или на моем RasbPi?

Благодаря

ответ

0

ошибка означает, что родная библиотека имени rxtxSerial не может быть найден. Вы должны иметь собственную библиотеку для Raspberry Pi с этим именем и установить системное свойство java.library.path так, чтобы оно указывало на каталог, содержащий встроенную библиотеку. Это означает, что вы должны начать программу Java с опцией -D, например:

java -Djava.library.path=/some/dir com.mypackage.MyProgram 

где /some/dir каталог, который содержит исходную библиотеку.

Вам нужно будет узнать, есть ли родная библиотека, подходящая для Raspberry Pi для библиотеки RXTX, которую вы пытаетесь использовать.

3

Вы можете установить эту библиотеку на Raspberry Pi через стандартный способ установки пакета. Тип

Просто:

sudo apt-get install librxtx-java 

Теперь вы можете начать флягу, как это:

java -Djava.library.path=/usr/lib/jni -cp /usr/share/java/RXTXcomm.jar -jar your.jar 
Смежные вопросы