@Quad_Tree

Как скомпилировать Jar файл с аргументом?

В IDEA я написал VM аргумент для запуска проекта: -Djava.library.path=src/native/windows/x64
Проект запускается и работает. Нет проблем.

Позже в IDEA я создал Jar файл, для запуска проекта вне IDEA. Файл DEngine.jar скинул в домашнюю папку и попробовал запустить, вот результат:
08c7bfccbc504ca1becfd1e68ca0b132.bmp

В чём проблема?
  • Вопрос задан
  • 2602 просмотра
Решения вопроса 1
pi314
@pi314
Президент Солнечной системы и окрестностей
Сообщения об ошибках не читай - вопросы задавай :) А между тем, там конкретно написано, в чем именно проблема: Failed to load the native library.
В src/native/windows/x64 лежат, вероятно, какие-то DLL-ки. Когда программа запускалась из папки проекта, все было хорошо. Теперь JAR переложили в др. место, а DLL-ки не прихватили... и они больше не находятса, т.к. путь к ним указан относительный.
Решения проблемы два: либо указать абсолютный путь к DLL, либо прихватить их вместе с JAR в др. папку.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Scorpi
@Scorpi
Попробуйте указать полный путь до папки.
Ответ написан
Комментировать
@SerCe
Вероятно в том, что путь у вас относительный.
Ответ написан
Комментировать
@asd111
Для простых случаев создавай jar'ник так:
1. Сначала добавь библиотеки:
File > Project Structure > Libraries > жми зеленый плюсик > выбирай нужные библиотеки > жми OK

2. Добавь Artifact для Build'a (на этом этапе создается сам jar)
File > Project Structure > Artifacts > жми зеленый плюсик > JAR > From module with dependencies > жми кнопочку с тремя точками напротив надписи Main Class > выбирай класс в котором прописан метод Main > выбирай либо extract to the target JAR(очень удобно в простых случаях - библиотека будет скопирована в JAR) либо copy to the output dir... > жми OK > жми OK > потом жми Build > Build artifacts > Build
И твой Jar со всеми зависимостями готов к труду и обороне )))

В сложных случаях желательно использовать системы сборки Maven, Gradle, Ant
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы