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

112
задан Trilarion 29 September 2019 в 16:50
поделиться

7 ответов

[

]Вы можете преобразовать .jar-файл в .exe следующим образом:[
] [][alt text][][
] [](source: []viralpatel.net[])[][
] [
] []1- JSmooth .exe обертка:[
][
] JSmooth - это Java исполняемая обертка. Она создает родные запускатели Windows (стандартный .exe) для ваших java-приложений. Она делает развертывание java приложений более плавным и удобным, так как способна самостоятельно найти любую установленную Java VM. Когда VM недоступна, обертка может автоматически загрузить и установить подходящую JVM, или просто отобразить сообщение или перенаправить пользователя на веб-сайт.[

] [

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

] [

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

] [

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

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

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

] [

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

] [

]Скачать: []http://mpowers.net/executor/[][

] [

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

] [

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

]
131
ответ дан 24 November 2019 в 02:51
поделиться
[

] Обычно я использую для этого сценарий летучей мыши. Вот что я обычно использую:[

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

]The %~dp0 extract the directory where the .bat is located. Это позволяет летучему мышиной мыши находить места расположения банок, не требуя ни специальных переменных окружения, ни установки переменной PATH.[

] [

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

].
4
ответ дан 24 November 2019 в 02:51
поделиться
[

] Мы нашли Jsmooth хорошо работающим и легко скриптируемым муравейником под Linux. Возможно, вы захотите сначала использовать одну банку (также легко скриптируемую с муравьями под Linux), чтобы собрать многофайловое приложение в одну банку.[

] [

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

] [

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

].
2
ответ дан 24 November 2019 в 02:51
поделиться
[

] Можно создать .bat, который будет выполнять созданный .jar файл, проверяя наличие JRE.[

] [

]Из полезной ссылки Mitch ([]source[])[

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

]Это можно использовать в вашем пакете...[

].
1
ответ дан 24 November 2019 в 02:51
поделиться
[

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

] [

]Самая полезная справка по этой теме, которую я нашел, находится у меня: []http://mindprod.com/jgloss/nativecompiler.html[][

] [

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

]
0
ответ дан 24 November 2019 в 02:51
поделиться

Я использую launch4j

ANT Command:

<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>
18
ответ дан 24 November 2019 в 02:51
поделиться

Посмотрите на плитки Apache . Так как вы работаете со Стратсом, я удивлен, что вы не нашли его. По сути, это механизм шаблона, и я думаю, что он соответствует вашим требованиям.

Уже предложенный < jsp: include > можно использовать с < jsp: param > для передачи переменных. Как и

<jsp:include file="includedFile.jsp">
    <jsp:param name="username" value="jsmith" />
</jsp:include>

На самом деле, если бы я хотел включить 1 файл с общим кодом, я бы рекомендовал простоту < jsp: include > над мощностью плитки.

-121--1918261-

Возможно, вы найдете RuGUI интересным. С веб-сайта:

RuGUI - это рамка, которая помогает создавать настольные приложения. RuGUI в основном вдохновлялся рамкой Ruby on Rails, взяв из него большинство своих функций.

Есть также поддержка RSpec и Test: Unit

Она началась с фокуса на Gtk, но похоже, что поддержка Qt уже добавлена. В нем отсутствует структурированная документация, но эти два блогпоста вам очень помогут.

Разработчики стремятся улучшить структуру.

-121--2414519-

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

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

Однако я настоятельно рекомендую вам переписать свой источник на другой язык, который предназначен для компиляции, например, C++. Java предназначен для того, чтобы быть портативным, интерпретируемым языком. Компиляция его для машинного кода полностью соответствует тому, для чего был разработан язык.

32
ответ дан 24 November 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: