2017-01-17 5 views
0

Прошу прощения, если этот вопрос поставлен неправильно, но, учитывая, что речь идет о баночках и Java, я подумал, что это, вероятно, будет ближе всего к моей теме.Включите внешние банки библиотеки в jar to mac .app conversion

У меня есть программа Java, которую я создал, эту программу, которую я собираюсь распространять для Mac и Windows. Для этого для Windows я использовал Launch4j, который работает без каких-либо проблем. Теперь проблема в том, что когда я пытаюсь преобразовать jar в .app для Mac, он работает, приложение просто открывается, а затем закрывается сразу после. Полагаю, это происходит потому, что при конвертации в Mac .app с помощью Appmaker он не включает внешние библиотеки, которые я использовал для программы. Из-за этого я теперь задаюсь вопросом, как добавить внешние библиотеки в файл .app, как это было сделано в .exe, где я только что добавил папку .lib со всеми баночками внешней библиотеки в папку, где .exe is in. Я попытался добавить папку .lib в папку содержимого, созданную для файла .app, но это не работает. Я также попытался добавить его в папку ressource в файле .app.

Один из вариантов, который я нашел, заключается в объединении всех внешних библиотек и фактического файла .jar программы в один. Мне кажется, что это очень сложно, и мне действительно не нужно, чтобы это был только один комбинированный .jar, если он может быть включен другим способом.

ответ

0

Не уверен в Appmaker, но может делать что-то вроде uber jar, то есть одну банку, содержащую все классы, в основном берут все банки, разархивируя их в папку с подписью, а затем снова собирают их.

Не знаете, что вы используете для сборки, но у maven есть maven shade plugin, который выполняет именно это.

+0

Большое спасибо за отзыв и ввод, я использую Netbeans для создания реальной программы, у нее есть некоторые функции графического интерфейса. Если бы я должен был сделать uber jar, как вы говорите, когда я создаю фактическую программу, мне просто нужно пойти в папку dist, а затем распаковать как фактическую банку программы, так и все внешние банки, а затем, как бы я тогда объединить ее на одну банку снова? –

+0

Вы можете использовать команду jar, чтобы создать банку. http://docs.oracle.com/javase/8/docs/technotes/tools/windows/jar.html –

Смежные вопросы