Компиляция программы java в исполняемый файл [дубликат]


Возможные Дубликаты:
как создать .exe для программы Java?

Я только что сделал простую программу с eclipse, и я хочу скомпилировать ее в исполняемый файл, но просто не могу понять, как это сделать. Пожалуйста помочь.

7 106

7 ответов:

вы можете конвертировать .jar-файл .exe на этих путях:

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

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

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

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

  • может генерировать "консоль", "графический интерфейс Windows", "служба Windows" три типы exe файлов.
  • созданные exe-файлы могут Добавлять значки программ и информацию о версии.
  • сгенерированные exe-файлы могут шифровать и защищать java-программы, никакие временные файлы не будут создаваться при запуске программы.
  • созданные exe-файлы обеспечивают поддержку значков в системном трее.
  • созданные exe-файлы обеспечивают поддержку журнала системных событий записи.
  • созданные файлы exe службы windows могут устанавливать / удалять себя и поддерживать сервис пауза / продолжение.
  • новый выпуск x64 версии, можно создать 64 бит руководителей. (18 мая 2008)
  • поддерживается как режим мастера, так и режим командной строки. (18 мая 2008)

скачать:http://www.brothersoft.com/jartoexe-75019.html

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

скачать:http://mpowers.net/executor/

EDIT: приведенная выше ссылка сломана, но вот страница (с рабочей загрузкой) из интернет-архива. http://web.archive.org/web/20090316092154/http://mpowers.net/executor/

4 - Расширенный Установщик
Расширенный установщик позволяет создавать окна MSI устанавливается за считанные минуты. Это также имеет поддержку Windows Vista, а также помогает создавать пакеты MSI на других языках.
Скачать: http://www.advancedinstaller.com/ Дайте мне знать другие инструменты, которые вы использовали для преобразования JAR в EXE.

Я бы использовал GCJ (компилятор GNU для Java) в вашей ситуации. Это компилятор AOT (раньше времени) для Java, так же как GCC для C. Вместо интерпретации кода или генерации промежуточного кода java, который будет запущен позже Java VM, он генерирует машинный код.

GCJ доступен практически в любой системе Linux через соответствующий менеджер пакетов (если таковой имеется). После установки компилятор GCJ должен быть добавлен в путь, чтобы его можно было вызвать через терминал. Если вы используете Windows, вы можете скачать и установить GCJ через Cygwin или MinGW.

Я настоятельно рекомендую, однако, переписать исходный код для другого языка, который должен быть скомпилирован, например C++. 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 для этого. Вот что я обычно использую:

@echo off
set d=%~dp0
java -Xmx400m -cp "%d%myapp.jar;%d%libs/mylib.jar" my.main.Class %*

%~dp0 извлекает каталог, в котором находится .летучая мышь находится. Это позволяет летучей мыши находить местоположения банок без необходимости каких-либо специальных переменных среды или установки переменной пути.

изменить: добавлены кавычки в путь к классу. В противном случае, как сказал Джоуи, "забавные вещи могут произойти с пробелами"

мы обнаружили, что Jsmooth хорошо работает и легко поддается сценарию с ant под Linux. Вы можете использовать one-jar (также легко сценарий с ant под Linux), чтобы сначала собрать многофайловое приложение в одном jar.

мы в первую очередь нуждались в простом развертывании EXE в сочетании с "Эй, вам нужна версия Java X, перейдите сюда, чтобы загрузить" объекты.

(но то, что вам, скорее всего, нужно, это" Runnable jar " / "Executable jar" в стандарте Ява.)

что вы можете сделать, это создать .летучая мышь, которая будет выполнять .jar-файл создан, проверяя, присутствует ли JRE.

от Митча полезная ссылка (источник)

java -classpath myprogram.jar de.vogella.eclipse.ide.first.MyFirstClass

Это может быть использовано в вашей партии...

есть небольшая горстка программ, которые делают это... TowerJ-это то, что приходит на ум (я позволю вам Google для этого), но это стоит значительных денег.

наиболее полезная ссылка на эту тему я нашел по адресу:http://mindprod.com/jgloss/nativecompiler.html

Он упоминает несколько других продуктов, и Альтернативы для достижения той же цели.