Как добавить собственную библиотеку к “java.library.path” с запуском Eclipse (вместо того, чтобы переопределить его)

Я получил собственную библиотеку, которая должна быть добавлена к java.library.path. С аргументом JVM-Djava.library.path=path... Я могу установить путь, как я хочу.

Моя проблема состоит в том, что моя другая библиотека (pentaho сообщающий) шрифты поисков на основе значения по умолчанию java.library.path (включая системные каталоги и т.д.) и ручная установка переопределяет путь по умолчанию..

Так: как я могу добавить запись пути в значение по умолчанию java.library.path вместо того, чтобы переопределить его (который, кажется, сделан с-Djava.library.path)? (Я не хотел бы добавлять путь по умолчанию вручную, который не будет хорош ради развертывания),

Править: Извините за пропавших без вести деталей; я работаю с Eclipse. (Развертывание сделано с JNLP, и там я могу использовать nativelib под ресурсами),

89
задан JoshDM 31 July 2019 в 20:52
поделиться

4 ответа

Можно ли обойти это путем вызова System.load () программно для загрузки собственной библиотеки? Этот метод (в отличие от этого System.loadLibrary () ) позволяет Вам определять полный путь.

2
ответ дан Simon Nickerson 24 November 2019 в 07:22
поделиться

SWT помещает необходимый собственный DLLs в JAR. Поиск "org.eclipse.swt.win32.win32.x86_3.4.1.v3449c.jar" для примера.

DLLs должен быть в корне JAR, JAR должен быть подписан, и DLL, должно казаться, с контрольной суммой в META-INF/MANIFEST.MF для VM берет их.

9
ответ дан Aaron Digulla 24 November 2019 в 07:22
поделиться

В Windows, например:

-Djava.library.path = "C: / MyLibPath;% PATH% "

% PATH% - это ваш старый -Djava.library.path

3
ответ дан 24 November 2019 в 07:22
поделиться

В системах UNIX вы можете добавить к переменной среды LD_LIBRARY_PATH. В Windows JVM автоматически устанавливает для системного свойства java.library.path значение PATH; так что если dll находится в вашем PATH, значит, все настроено.

1
ответ дан 24 November 2019 в 07:22
поделиться
Другие вопросы по тегам:

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