Как я могу конвертировать .jar в .exe? - PullRequest
31 голосов
/ 02 декабря 2010

Я хочу преобразовать .jar в .exe для Microsoft.Есть ли какой-нибудь программный конвертер для этого?

Также, если есть такой для Mac и Linux, я был бы признателен за такие предложения.

Ответы [ 4 ]

26 голосов
/ 13 декабря 2013

Launch4j работает как на Windows, так и на Linux / Mac. Но если вы работаете в Linux / Mac, есть способ встроить jar-файл в сценарий оболочки, который выполняет автозапуск, поэтому у вас есть только один исполняемый файл:

exestub.sh:

#!/bin/sh
MYSELF=`which "$0" 2>/dev/null`
[ $? -gt  0 -a -f "$0" ] && MYSELF="./$0"
JAVA_OPT=""
PROG_OPT=""
# Parse options to determine which ones are for Java and which ones are for the Program
while [ $# -gt 0 ] ; do
    case $1 in
        -Xm*) JAVA_OPT="$JAVA_OPT $1" ;;
        -D*)  JAVA_OPT="$JAVA_OPT $1" ;;
        *)    PROG_OPT="$PROG_OPT $1" ;;
    esac
    shift
done
exec java $JAVA_OPT -jar $MYSELF $PROG_OPT

Затем вы создаете исполняемый файл из вашей банки:

$ cat exestub.sh myrunnablejar.jar > myrunnable
$ chmod +x myrunnable

Он работает так же, как и launch4j: поскольку jar-файл имеет формат zip , заголовок которого находится в end файла. Вы можете иметь любой заголовок (двоичный исполняемый файл или, как здесь, сценарий оболочки) и запустить java -jar <myexe>, так как <myexe> является действительным файлом zip / jar.

11 голосов
/ 12 марта 2014

Оболочка JSmooth .exe

JSmooth - это исполняемая оболочка Java. Он создает собственные средства запуска Windows (стандартные .exe) для ваших приложений Java. Это делает развертывание Java намного более плавным и удобным для пользователя, поскольку оно способно найти любую установленную Java VM самостоятельно. Когда виртуальная машина недоступна, оболочка может автоматически загрузить и установить подходящую JVM, или просто отобразить сообщение или перенаправить пользователя на веб-сайт.

JSmooth предоставляет различные оболочки для вашего Java-приложения, каждое из которых имеет свое поведение: выберите свой вкус!

Скачать: http://jsmooth.sourceforge.net/

JarToExe 1.8 Jar2Exe - это инструмент для преобразования jar-файлов в exe-файлы. Ниже приведены основные функции, описанные на их сайте:

Может генерировать «Консоль», «Windows GUI», «Служба Windows» трех типов файлов .exe.

Сгенерированные файлы .exe могут добавлять значки программ и информацию о версии. Созданные файлы .exe могут шифровать и защищать Java-программы, при запуске программы временные файлы не будут создаваться.

Сгенерированные файлы .exe обеспечивают поддержку значков в системном трее. Сгенерированные файлы .exe обеспечивают поддержку записи журнала системных событий. Сгенерированные файлы службы Windows .exe могут устанавливать / удалять самостоятельно, а служба поддержки приостанавливает / продолжает.

  • Новый выпуск версии x64, может создавать 64-разрядных руководителей. (18 мая, 2008)
  • Поддерживаются как режим мастера, так и режим командной строки. (18 мая 2008 г.)
  • Скачать: http://www.brothersoft.com/jartoexe-75019.html

Палач

Упакуйте ваше Java-приложение как jar, и Executor превратит jar в файл Windows .exe, неотличимый от нативного приложения. Двойной щелчок по файлу .exe вызовет среду выполнения Java и запустит ваше приложение.

5 голосов
/ 02 декабря 2010

Если ваша программа «общедоступная некоммерческая по своей природе» и имеет «общедоступный веб-сайт, соответствующий основным стандартам качества» , то вы можете попробовать и получить бесплатную лицензию Excelsior.Если это не так, это дорого, но все же жизнеспособный вариант.

Программа: https://www.excelsiorjet.com

В качестве примечания: Вот исследование всех существующих программ Jar to EXE, что немногоудручающий - https://www.excelsior -usa.com / article / java-to-exe.html

4 голосов
/ 02 декабря 2010

Несмотря на то, что это противоречит общей политике SO по этим вопросам, похоже, именно этого искренне желает ФП:

http://www.google.com/search?btnG=1&pws=0&q=java+executable+wrapper

Если вы хотите, вы также можете попробовать создать соответствующий пакетный файл или файл сценария, содержащий одну строку:

java -jar MyJar.jar

Или во многих случаях в Windows просто дважды щелкните исполняемый файл.

...