UnsatisfiedLinkError: использование Remedy API с Java

Я пытаюсь запустить пример из этот вопрос об использовании 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)

person dann.dev    schedule 23.11.2011    source источник


Ответы (1)


данн.дев,

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

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

Что-то типа:

установить PATH=%PATH%;<api directory

java <params› Мое приложение

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

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

person ed8247    schedule 24.11.2011
comment
Спасибо, Эд, это то, что я еще не пробовал, я дам вам знать, если это сработает. - person dann.dev; 25.11.2011
comment
Я сопоставил диск и включил его в свою переменную PATH, и теперь у меня другая ошибка, которая, похоже, связана именно с исправлением, я собираюсь еще немного протестировать ее, но похоже, что вы правы! - person dann.dev; 27.11.2011
comment
Спасибо, Эд, это определенно сработало, и теперь у меня совершенно новая проблема! - person dann.dev; 28.11.2011