java.lang.UnsatisfiedLinkError: нет rxtxSerial в java.library.path - PullRequest
16 голосов
/ 20 ноября 2011

Я пытаюсь использовать 64-битную библиотеку последовательной связи rxtx (загруженную из cloudhopper) с 64-битной Windows 7 и Eclipse.Я получаю сообщение: java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path.DLL находятся в /jre/lib dir, а также Windows/System32.RXTXcomm.jar находится в пути сборки для затмения, а также в jre/lib/ext dir.Я запустил монитор процессов в фоновом режиме и вижу, что RXTXcomm.jar, rxtxSerial.dll и rxtxParallel.dll все найдены и открыты, поэтому мне неясно, почему возникает эта проблема.

Любые предложения.

Ответы [ 12 ]

0 голосов
/ 13 февраля 2017

У меня была та же проблема, в Windows 10 и Eclipse, проблема была в том, что у меня была Java для 32 и 64 бит, поэтому я установил библиотеку RXTX для 64 бит, но Eclipse использовал 32-битную среду Java, так что я сделал это скачайте RXTX для 32 бит, скопируйте необходимые файлы в C: ProgramFilesx86 / JAVA_HOME, как в инструкции для RXTX, и проблема была решена. Надеюсь, это кому-нибудь поможет.

0 голосов
/ 17 августа 2016

В Netbeans 5.5 в Windows мне нужно было щелкнуть правой кнопкой мыши по пункту Библиотеки в Проекты в левой части экрана и выберите «Добавить» JAR / Folder ", выбирая файл RXTXcomm.jar. Только тогда мой

enter code here

стать действительной командой. Кроме того, я получил ошибку во время выполнения, когда он не смог загрузить Библиотека rxtxSerial.DLL, потому что не может найти ее. я нуждался в щелкните правой кнопкой мыши имя проекта, выберите свойства, выберите «Запустить под». категории, и добавить параметры VM: запись

-Djava.library.path = "C: \ где-нибудь вы-константных rxtxSerial.DLL-файл;% PATH%

Пример:

-Djava.library.path="C:\rxtx-2.1-7-bins-r2\Windows\i368-mingw32\;%PATH%"

Хотя я уверен, что существует несколько способов добавления каталога в Ваш путь, это сработало для меня. Обратите внимание, я сделал по умолчанию NetBeans 5.5 / JDK 1.6.0 не принимает все параметры по умолчанию (то есть, нажимая кнопку «Далее» до тех пор, пока я не закончу), поэтому я не изменил свои пути Java или что-либо еще. В качестве альтернативы вы можете скопировать * .dll в C: \ Windows \ System32 \, Java найдет его там автоматически.

Обратите внимание, что вы не можете использовать 32-битную DLL при запуске 64-битной JRE: Вы получите ошибку, похожую на:

Can't load IA 32-bit .dll on a AMD 64-bit platform thrown while loading gnu.io.RXTXCommDriver

Чтобы решить эту проблему, просто установите 32-битный JDK и добавьте новую Платформу в NetBeans в разделе Инструменты-> Платформы Java-> Добавить платформу и измените Настройки проекта для использования вновь созданной платформы. убедитесь, что вы набрали

"import gnu.io.*"

от http://rxtx.qbang.org/wiki/index.php/Using_RXTX_In_NetBeans

...