Где установить локальные библиотеки Java по умолчанию? - PullRequest
2 голосов
/ 13 января 2009

Я интегрирую привязки JNI с библиотекой C ++.

Библиотека следует обычным соглашениям: по умолчанию для корневой папки установлен /usr/local, и ее можно изменить с помощью аргумента --prefix на ./configure; файлы .a или .so входят в ${prefix}/lib; и т.д.

При связывании JNI создаются две новые библиотеки: libfoojni.so (нативная часть) и libfoo.jar (часть Java).

В соответствии с этой схемой, как обычно размещать эти файлы (например, ${prefix}/java)?

Желательно ли разрешить пользователю указывать отдельный корневой каталог Java (например, /usr/share/java)?

Должен ли libfoojni.so входить в ${prefix}/lib или в какой-нибудь специфичный для Java подкаталог?

1 Ответ

1 голос
/ 14 января 2009

Когда я делал JNI в прошлом в Linux, я связал файлы .so с приложением в специальном каталоге для библиотек JNI. Затем добавьте это в переменную среды LD_LIBRARY_PATH для экземпляра JVM, на котором выполняется приложение.

Так что я бы сказал, что на самом деле нет соглашения об этом (кроме каталогов lib для Linux для всей системы).

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

...