java.lang. UnsatisfiedLinkError

я пытаюсь получить доступ к очередям MQ, использующим JMS., который я получаю ниже

java.lang.UnsatisfiedLinkError: no mqjbnd05 in java.library.path

я являюсь передающим

-Djava.library.path="C:\Program Files\IBM\WebSphere MQ\java\lib"

как аргумент VM при запущении программы в затмении. Этот вопрос обсуждается довольно много в сети, но с любым заключением. Кто-либо разрешил это? TIA.

14
задан Andreas_D 20 July 2010 в 11:15
поделиться

3 ответа

У вас, вероятно, есть старые файлы jar MQ в вашем CLASSPATH, в библиотеке или в EAR.
Удалите их, и все будет в порядке.
Вы не должны помещать файлы MQ в EAR или в папки WEB-INF / lib. Они должны быть в пути к классам вашего сервера приложений.

5
ответ дан 1 December 2019 в 09:59
поделиться

Это может произойти, если вы действительно установили MQ Client вместо MQ Server.

IBM даже написала целую страницу помощи об этом:

При установке WebSphere MQ Client отсутствуют файлы mqjb*.dll

Проблема (Аннотация)

Вы устанавливаете WebSphere MQ Client и замечаете отсутствие трех dll в каталоге \Program Files\IBM\WebSphere MQ\Java\lib\.

Симптом

Следующие dll появляются в каталоге на сервере, но не являются частью Java™ клиента:

  • 03/17/2003 10:59a 19,456 mqjbdf02.dll
  • 03/17/2003 10:59a 57,856 mqjbnd05.dll
  • 03/17/2003 10:59a 36,864 MQXAi02.dll

Подкаталог \jdbc\ появляется на сервере, но не на клиентской машине.

  • 03/17/2003 10:59a 61,440 jdbcdb2.dll
  • 03/17/2003 10:59a 61,440 jdbcora.dll

Причина

Файлы отсутствуют, поскольку они не предусмотрены и не нужны при установке клиента.

Решение проблемы

Файлы включены только в продукт WebSphere MQ Server.

0
ответ дан 1 December 2019 в 09:59
поделиться

Вот простой рецепт: Скажите Java VM загрузить DLL . Ваш код похож, например вы используете System.loadLibrary для загрузки mqjbnd05.dll ?

Если да - работает ли он вне eclipse, например, запуск приложения из командной строки? В этом случае вы можете попробовать запустить всю среду IDE eclipse с этим путем к библиотеке.

Иногда возникают проблемы с именами путей, содержащими пробелы. Скопируйте dll в C: \ , поместите в путь к библиотеке и попробуйте еще раз.


А, вот в чем проблема, указанная dll отсутствует. В этом блоге есть решение . Удачи!

0
ответ дан 1 December 2019 в 09:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: