Добавить .dll в java.library.path в проекте Eclipse/PyDev Jython

Я пытаюсь использовать скомпилированную библиотеку Java .jar в своем проекте PyDev Jython.

Я успешно добавил файл .jar в PYTHONPATH и смог начать кодирование с автоматическим завершением работы.

Для библиотеки также требуется расширение .dll, javaHeclib.dll, поэтому я добавил его в раздел «Внешние библиотеки» моего проекта.

Я могу нормально импортировать библиотеку, но получаю сообщение об ошибке при попытке получить доступ к любой из ее функций:

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

Я добавил аргумент виртуальной машины в свою конфигурацию запуска, но безуспешно:

-Djava.library.path="Y:/path/to/javaHeclib.dll;${env_var:PATH}"

Я могу запустить библиотеку из командной строки просто отлично, используя java.library.pathвыше.

Экспериментируя в консоли PyDev, я заметил, что могу загрузить расширение .dll с абсолютным путем, но не с относительным:

>>> import java.lang
>>> java.lang.System.load('Y:/path/to/javaHeclib.dll')
>>> java.lang.System.loadLibrary('javaHeclib')
Traceback (most recent call last):
  File "<console>", line 1, in ?
java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: no javaHeclib in java.library.path

К сожалению, библиотека использует вызов System.loadLibrary. выше, и у меня нет доступа к его источнику.

Почему javaHeclib.dllотсутствует в моем java.library.path?

РЕДАКТИРОВАТЬ

Установка java.library.pathна каталог, содержащий dll, не позволила мне загрузить его с помощью System.loadLibrary.

-Djava.library.path="Y:/path/to/dll/;${env_var:PATH}"

(Использование косой черты не имело значения.) Я также попытался изменить аргументы виртуальной машины по умолчанию в eclipse.ini, но безуспешно:

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m
-Djava.library.path="Y:\path\to\dll\;${env_var:PATH}"
20
задан Robbie Rosati 20 June 2012 в 21:14
поделиться