UnsatisfiedLinkError: Использование Remedy API с Java - PullRequest
0 голосов
/ 24 ноября 2011

Я пытаюсь запустить пример из этого вопроса об использовании API-средства защиты BMC.Тем не менее, я получаю сообщение об ошибке ниже при попытке запустить пример, он, похоже, нормально скомпилируется.

Насколько я понимаю, мне нужно сослаться на arapi71.jar.Однако эта библиотека фактически находится в другом домене, поэтому я не могу ссылаться на нее напрямую.Я скопировал всю папку, которая находится на моем ПК, и добавил к пути сборки, это может быть проблемой, я новичок в использовании фреймворков и т. Д., Так что если это проблема, дайте мне знать.

Если проблема не в этом, и все в порядке, чтобы просмотреть всю эту информацию и сослаться на нее, что еще я мог упустить?Этот сайт здесь имеет некоторые идеи о путях и т. Д., Но кажется, что они в основном на Linux, и я не уверен на 100%, с чем это связано на Windows (7, кстати, хотя я не думаю,это имеет значение для переменных среды).В нем упоминается, что невозможность найти файл .dll может быть проблемой, она находится в папке, поэтому я предполагаю, что он все еще может найти ее там?

Любая помощь будет принята с благодарностью!

Exception in thread "main" java.lang.UnsatisfiedLinkError: com.bmc.arsys.api.Proxy.ARInitialization()J
at com.bmc.arsys.api.Proxy.ARInitialization(Native Method)
at com.bmc.arsys.api.Proxy.<init>(Unknown Source)
at com.bmc.arsys.api.ProxyJRpcBase.<init>(Unknown Source)
at com.bmc.arsys.api.ProxyJRpc.<init>(Unknown Source)
at com.bmc.arsys.api.ProxyManager.createProxy(Unknown Source)
at com.bmc.arsys.api.ProxyPool.get(Unknown Source)
at com.bmc.arsys.api.PoolingProxyManager.getProxy(Unknown Source)
at com.bmc.arsys.api.ARServerUser.createEntry(Unknown Source)
at CreateEntry.main(CreateEntry.java:34)

1 Ответ

1 голос
/ 25 ноября 2011

dann.dev,

Из вашей трассировки стека видно, что каталог, содержащий arapi71.jar и всю нативную реализацию, находится не в вашем пути Windows. Вам нужно добавить каталог, содержащий все jars и dll, в путь Windows, чтобы эти файлы были найдены во время выполнения.

Обычно я запускаю Java-приложения, использующие API Remedy, с пакетным файлом-оберткой, который добавляет каталог API к пути перед выполнением приложения.

Что-то вроде:

set PATH =% PATH%; <api directory>

Java <params> MyApp

должен настроить то, что вам нужно.

Надеюсь, это поможет, Ed

...