@ruboss

Почему java не видит библиотеку?

Всем привет, возникла проблема с подключением библиотеки на linux ubuntu.

В папке/mnt/ лежат файлы необходимые для запускаtreedb.jar и jkyotocabinet.so
Смотрю что в текущей папке:
root@vtt9:/mnt# ls -l

-rwxr-xr-x 1 root root 1948919 Mar 11  2014 jkyotocabinet.so
-rwxr-xr-x 1 root root 1404322 Nov 18 16:11 treedb.jar

Запускаю программу с параметром "-Djava.library.path=."
root@vtt9:/mnt# sudo java -Xms5000m -Xmx51000m -d64 -jar -Djava.library.path=. treedb.jar

В программе вывожу в консоль:
current dir = /mnt/.
java library path = .

И дальше на строке System.loadLibrary("jkyotocabinet"); выпадает эксепшн:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jkyotocabinet in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
        at java.lang.Runtime.loadLibrary0(Runtime.java:849)
        at java.lang.System.loadLibrary(System.java:1088)
        at treedb.Main.main(Main.java:27)


Еще смотрел в java -XshowSettings:properties и закидывал jkyotocabinet.so в папки которые были уже в java.library.path. Устанавливал пусть программно System.setProperty( "java.library.path", "." );

Ничего не помогает, есть идеи в чем проблема, почему джава не видит библиотеку? На винде то же самое делаю, только .dll вместо .so и всё прекрасно работает
  • Вопрос задан
  • 2071 просмотр
Пригласить эксперта
Ответы на вопрос 1
@akileev
Java / Scala developer
Библиотека и JVM одной разрядности (32/64-bit)?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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