я пытаюсь получить доступ к очередям MQ, использующим JMS., который я получаю ниже
java.lang.UnsatisfiedLinkError: no mqjbnd05 in java.library.path
я являюсь передающим
-Djava.library.path="C:\Program Files\IBM\WebSphere MQ\java\lib"
как аргумент VM при запущении программы в затмении. Этот вопрос обсуждается довольно много в сети, но с любым заключением. Кто-либо разрешил это? TIA.
У вас, вероятно, есть старые файлы jar MQ в вашем CLASSPATH, в библиотеке или в EAR.
Удалите их, и все будет в порядке.
Вы не должны помещать файлы MQ в EAR или в папки WEB-INF / lib. Они должны быть в пути к классам вашего сервера приложений.
Это может произойти, если вы действительно установили 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.
Вот простой рецепт: Скажите Java VM загрузить DLL . Ваш код похож, например вы используете System.loadLibrary
для загрузки mqjbnd05.dll
?
Если да - работает ли он вне eclipse, например, запуск приложения из командной строки? В этом случае вы можете попробовать запустить всю среду IDE eclipse с этим путем к библиотеке.
Иногда возникают проблемы с именами путей, содержащими пробелы. Скопируйте dll в C: \
, поместите в путь к библиотеке и попробуйте еще раз.
А, вот в чем проблема, указанная dll отсутствует. В этом блоге есть решение . Удачи!