Possible Duplicate:
How do я create an.exe for a Java program?
Я только что сделал простую программу с Eclipse и хочу скомпилировать ее в исполняемый файл, но просто не могу понять, как это сделать.
Possible Duplicate:
How do я create an.exe for a Java program?
Я только что сделал простую программу с Eclipse и хочу скомпилировать ее в исполняемый файл, но просто не могу понять, как это сделать.
Вы можете конвертировать .jar файл в .exe следующими способами:
(источник: viralpatel.net)
1- Оболочка JSmooth.exe:
JSmooth - это исполняемая оболочка Java. Он создает собственные средства запуска Windows (стандартные .exe) для ваших Java-приложений. Это делает развертывание Java намного более плавным и удобным для пользователя, поскольку оно способно найти любую установленную Java VM самостоятельно. Когда виртуальная машина недоступна, оболочка может автоматически загрузить и установить подходящую JVM, или просто отобразить сообщение или перенаправить пользователя на веб-сайт.
JSmooth предоставляет различные обертки для вашего java-приложения, каждое из которых имеет свое поведение: выберите свой вкус!
Загрузить: http://jsmooth.sourceforge.net/
2- JarToExe 1.8
Jar2Exe - это инструмент для преобразования jar файлов в exe файлы.
Ниже приведены основные функции, описанные на их веб-сайте:
Загрузить: http://www.brothersoft.com/jartoexe-75019.html
3- Исполнитель
Упакуйте свое Java-приложение как jar, и Executor превратит jar в exe файл Windows, неотличимый от нативного приложения. Двойной щелчок по exe файлу вызовет среду выполнения Java и запустит ваше приложение.
Загрузить: http://mpowers.net/executor/
ОБНОВЛЕНИЕ: выше ссылка не работает, но вот страница (с рабочей загрузкой) из интернет-архива. http://web.archive.org/web/20090316092154/http://mpowers.net/executor/
4- Продвинутый установщик
Расширенный установщик позволяет создавать Windows MSI за считанные минуты. Это также поддерживает Windows Vista, а также помогает создавать пакеты MSI на других языках.
Загрузить: http://www.advancedinstaller.com/
Дайте мне знать другие инструменты, которые вы использовали для преобразования JAR в EXE.
Я бы использовал GCJ (GNU Compiler для Java) в вашей ситуации. Это компилятор AOT (раньше времени) для Java, так же как и GCC для C. Вместо интерпретации кода или создания промежуточного Java-кода, который будет запущен позднее VM Java, он генерирует машинный код.
GCJ доступен практически для любой системы Linux через соответствующий диспетчер пакетов (если есть). После установки компилятор GCJ должен быть добавлен к пути, чтобы он мог быть вызван через терминал. Если вы используете Windows, вы можете загрузить и установить GCJ через Cygwin или MinGW.
Я настоятельно рекомендовал бы, однако, переписать источник на другой язык, который должен быть скомпилирован, например, на С++. Java предназначен для портативного интерпретируемого языка. Компиляция его на машинный код полностью против того, для чего был разработан язык.
Я использую launch4j
ANT Команда:
<target name="jar" depends="compile, buildDLLs, copy">
<jar basedir="${java.bin.dir}" destfile="${build.dir}/Project.jar" manifest="META-INF/MANIFEST.MF" />
</target>
<target name="exe" depends="jar">
<exec executable="cmd" dir="${launch4j.home}">
<arg line="/c launch4jc.exe ${basedir}/${launch4j.dir}/L4J_ProjectConfig.xml" />
</exec>
</target>
Я обычно использую bat script для этого. Здесь я обычно использую:
@echo off
set d=%~dp0
java -Xmx400m -cp "%d%myapp.jar;%d%libs/mylib.jar" my.main.Class %*
Файл% ~ dp0 извлекает каталог, в котором находится .bat. Это позволяет летучей мыши находить местоположения банок, не требуя каких-либо специальных переменных окружения или настройки переменной PATH.
EDIT: добавлены кавычки в путь к классам. В противном случае, как сказал Джой, "забавные вещи могут случиться с пробелами"
Мы обнаружили, что Jsmooth хорошо работает и легко доступен для сценариев с ant под Linux. Возможно, вы захотите использовать одну банку (также легко записываемую с помощью ant под Linux), чтобы сначала собрать многопользовательское приложение в одной банке.
Нам в первую очередь понадобилось простое развертывание EXE в сочетании с возможностями "эй, вам нужно Java версия X, перейти сюда, чтобы загрузить".
(но вам, скорее всего, понадобится средство "Runnable jar" / "Executable jar" в стандартной Java).
То, что вы можете сделать, это создать .bat, который будет выполнять созданный файл .jar, проверяя наличие JRE.
Из полезной ссылки Mitch (источник)
java -classpath myprogram.jar de.vogella.eclipse.ide.first.MyFirstClass
Это может быть использовано в вашей партии...
Есть небольшая горстка программ, которые делают это... TowerJ - это тот, который приходит на ум (я дам вам Google для него), но он стоит значительных денег.
Наиболее полезная ссылка для этой темы, которую я нашел, находится по адресу: http://mindprod.com/jgloss/nativecompiler.html
он упоминает несколько других продуктов и альтернативы для достижения той же цели.