Экспорт в Runnable jar с дополнительными библиотеками собственного кода в eclipse
У меня проблемы с экспортом моего Java-проекта из Eclipse в виде исполняемого файла JAR. Мой проект Java использует внешнюю библиотеку (она называется jri). Я экспортировал файл jri.jar и установил путь к библиотеке для его нативной библиотеки в eclipse, и он отлично работает при разработке в eclipse. Однако, когда я экспортирую его как исполняемый файл JAR, я получаю следующую ошибку:
Cannot find JRI native library!
Please make sure that the JRI native library is in a directory listed in java.library.path.
Я поместил папку с именем lib в тот же каталог, что и jar моего проекта; эта папка lib содержит нативную библиотеку jri Собственная библиотека jri находится не в одном файле, а в папке. Это та же самая установка, которую я имею в затмении.
То, как я экспортирую свой проект в Eclipse,
Export...
Java > Runnable JAR file
Copy required libraries into a sub folder next to the generated Jar
Finish
И моя папка организована так
folder project
project.jar
project_lib
jri.jar
jri native library folder
MANIFEST.MF моего project.jar это:
Manifest-Version: 1.0
Class-Path: . project_lib/jri.jar
Main-Class: index
Чего я хочу добиться, так это дать другому человеку папку, включая project.jar и все остальное, что нужно, чтобы он / она мог запустить ее, не устанавливая ничего другого. Спасибо
4 ответа
Добавьте скрипт, содержащий что-то вроде этого:
#!/bin/bash
java -Djava.library.path=project_lib/native/ -jar project_lib/jri.jar
Я экспортирую некоторые Java-проекты таким образом.
Это относительно сложно реализовать. Решения, которые я видел, включают в себя извлечение собственных библиотек в JAR во временный каталог ОС, а затем его загрузку. Я бы пошел на комплексное решение для этого. Один Jar и Java Class Loader поддерживают его, а на второй странице вы найдете ссылки на похожие инструменты.
Вы можете поместить библиотеки в вашу банку:
Экспорт...
Java> исполняемый файл JAR
Упакуйте необходимые библиотеки в сгенерированный Jar
Конец
Я всегда экспортирую этот путь. Я не знаю, сработает ли это в вашем случае, но стоит попробовать.
Редактировать:
Смотрите эти ссылки:
- Установка, настройка и настройка среды правильно
- Что делать при получении Не удается найти нативную библиотеку JRI!
Я предполагаю, что это как-то связано с тем, что LD_LIBRARY_PATH установлен неправильно. Или файл, который он ищет, не указан в указанном пути.
Вы знаете, у меня были похожие проблемы
Could not extract native JNI library.
все вышесказанное не может мне помочь. Я не мог остановиться и запустить Gradle Deamon, используя команду:
gradle --stop
Я видел, что Gradle Deamon все еще не остановился в моих процессах. Вот почему я убиваю это в моем процессе, и все будет хорошо:)