Как я могу преобразовать .jar в .exe?
Я хочу преобразовать .jar
в .exe
для Microsoft. Есть ли программный конвертер для этого?
Также, если у вас есть Mac и Linux, я был бы признателен за предложения для них.
Ответы
Ответ 1
Launch4j работает как на Windows, так и на Linux/Mac. Но если вы используете Linux/Mac, есть способ вставить свою банку в оболочку script, которая выполняет автоклав для вас, поэтому у вас есть только один исполняемый файл:
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, который находится в конце файла. Вы можете иметь любой заголовок, который вы хотите (либо исполняемый файл, либо, как здесь, shell script), и запустить java -jar <myexe>
, так как <myexe>
является допустимым файлом zip/jar.
Ответ 2
Оболочка JSmooth.exe
JSmooth - это Java Executable Wrapper. Он создает собственные пусковые установки Windows (стандартный.exe) для ваших приложений Java. Это делает развертывание Java более плавным и удобным, так как оно может самостоятельно найти любую установленную Java VM. Когда виртуальная машина недоступна, оболочка может автоматически загружать и устанавливать подходящую JVM или просто отображать сообщение или перенаправлять пользователя на веб-сайт.
JSmooth предлагает множество оболочек для вашего приложения java, каждый из которых имеет свое поведение: выберите свой вкус!
Загрузить: http://jsmooth.sourceforge.net/
JarToExe 1.8 Jar2Exe - это инструмент для преобразования файлов jar в файлы exe. Ниже перечислены основные функции, описанные на их веб-сайте:
Может генерировать "Консоль", "Windows GUI", "Windows Service" три типа файлов.exe.
Сгенерированные файлы.exe могут добавлять значки программ и информацию о версии. Сгенерированные файлы.exe могут шифровать и защищать java-программы, при запуске программы не создаются временные файлы.
Сгенерированные файлы.exe обеспечивают поддержку значков в системном трее. Сгенерированные файлы.exe обеспечивают поддержку журнала событий системы записи. Сгенерированные файлы.exe для Windows-окон могут сами устанавливать/удалять и поддерживать паузу/продолжение службы.
душеприказчик
Упакуйте приложение Java как банку, а Executor превратит банку в файл.exe Windows, неотличимый от собственного приложения. Просто дважды щелкнув файл.exe, вы вызовите Java Runtime Environment и запустите приложение.
Ответ 3
Если ваша программа "общедоступный некоммерческий характер" и имеет "общедоступный веб-сайт, соответствующий основным стандартам качества" , тогда вы можете попробовать получить бесплатную лицензию Excelsior. Если его нет, то это дорого, но все же жизнеспособный вариант.
Программа: https://www.excelsiorjet.com
В качестве побочного примечания: Здесь изучается все существующие программы Jar-EXE, которые немного удручают - https://www.excelsior-usa.com/articles/java-to-exe.html p >
Ответ 4
Несмотря на то, что это противоречит общей политике SO по этим вопросам, это, по-видимому, то, что OP действительно хочет:
http://www.google.com/search?btnG=1&pws=0&q=java+executable+wrapper
Если вы хотите, вы также можете попробовать создать соответствующий пакетный или script файл, содержащий одну строку:
java -jar MyJar.jar
Или во многих случаях на окнах просто дважды щелкните исполняемый банку.