Как сделать java-файл jar-файлом как исполняемый файл с одним файлом?

2561
AlikElzin-kilaka

У меня есть файл JAR с основным классом в нем. Основной класс уже настроен в файле манифеста, что означает, что jar может быть выполнен следующим образом:

java -jar Main.jar 

Я хотел бы сделать его исполняемым, то есть запустить его следующим образом, без необходимости указывать какой-либо параметр. Окна:

Main.cmd 

или Linux:

Main.sh 

Как я могу упаковать банку в исполняемый файл?

1
Там есть ответ для Linux. Любая идея, как упаковать java jar в исполняемый файл для Windows? AlikElzin-kilaka 8 лет назад 0
Честно говоря, как трудно найти в сети "jar to exe"? Есть целый ряд доступных решений. Karan 8 лет назад 0
@karan здорово, тогда будет легко ответить на вопрос. AlikElzin-kilaka 8 лет назад 0
Определенно. Вы можете отредактировать свой существующий ответ и добавить его, а затем принять самостоятельно. Karan 8 лет назад 0
@ Каран А тебе отказывают в кредите? На ;-) AlikElzin-kilaka 8 лет назад 0
Это нормально, пожалуйста. :) На самом деле, хотя бы один канонический ответ был бы лучше, потому что вы спрашивали о нескольких ОС, и, если ответ не охватывает обе стороны, он не будет полным. Karan 8 лет назад 1
Связанный: http://stackoverflow.com/questions/147181/how-can-i-convert-my-java-program-to-an-exe-file AlikElzin-kilaka 8 лет назад 0

1 ответ на вопрос

1
AlikElzin-kilaka

For Linux, there's a way: Package the jar in a bash file. Steps:

1- Create a stub:

MYSELF=`which "$0" 2>/dev/null` [ $? -gt 0 -a -f "$0" ] && MYSELF="./$0" exec java -jar $MYSELF "$@" exit $? 

2- Concatenate the stub and the jar into a new executable:

cat stub.sh Main.jar > main.sh 

3- Make the new file executable:

chmod +x main.sh 

That's it! Source: https://coderwall.com/p/ssuaxa/how-to-make-a-jar-file-linux-executable

Вы также можете использовать эмуляторы оболочки для запуска сценария оболочки в Windows. Пример такого эмулятора: GitBash и Cygwin. AlikElzin-kilaka 8 лет назад 0