Подтвердить что ты не робот

Невозможно создать собственный пакет для приложения JavaFX на 32-разрядной версии WinXP

Я пытаюсь создать приложение JavaFX (собственный пакет) для 32-разрядных систем WinXP.

Я развернул 32-битную виртуальную машину WinXP. Также установили JDK (jdk-8u65-windows-i586) и InnoSetup и Netbeans 8.0.2...

Однако пока я пытаюсь упаковать как приложение .EXE, я получаю:

Exception: java.io.IOException: Cannot run program "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\iconswap2855415551655584734.exe": CreateProcess error=193, %1 is not a valid Win32 application
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:3415: The following error occurred while executing this line:
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:3438: The following error occurred while executing this line:
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:1465: The following error occurred while executing this line:
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:3093: The following error occurred while executing this line:
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:2055: Error: Bundler "EXE Installer" (exe) failed to produce a bundle.
BUILD FAILED (total time: 35 seconds)

Моя настройка в порядке? Я пропустил что-нибудь еще?

Я думал, что для создания приложения JavaFX для WinXP32 я должен:

  • Создайте его на аналогичной машине (WinXP32)
  • Используйте версию X86 JDK

Однако этого не достаточно!

4b9b3361

Ответ 1

Вопрос звучит так, будто вы пытаетесь упаковать архив jar (или все .class файлы) в архив exe. Мой ответ основан на этом предположении и пытается объяснить и расширить ответ от следующей карточки. Прошу прощения, если я неверно истолковал ваш вопрос. Также я сожалею о плохом форматировании относительно моих ссылок. Мне не разрешено размещать несколько ссылок. Я исправлю это, как только у меня будет десять репутации.

Java не является компилируемым языком. Это означает, что файлы .class или архив jar не исполняются. Каждая программа Java должна запускаться с использованием JIT (Just in time compiler), который обычно называется java. Система может выполнять архивы jar, если вы нажмете на них, потому что она знает, что она должна добавить "java -jar" перед именем файла, чтобы иметь возможность что-то сделать.

Если вы хотите, чтобы java-программа выполнялась как исполняемый файл зависимости от системы, вы должны использовать компилятор AOT (Ahead of time). Они производят настоящий байт-код, который система может интерпретировать самостоятельно независимо от виртуальной машины. Обычно работают java-программы. Еще одна возможность заключается в том, чтобы обернуть банку с помощью start4j (уже упомянутый следующей картой)

Упаковочный:

АОТ-компилятор:

  • vmkit.llvm.org
  • gcc.gnu.org/java/
  • www.excelsiorjet.com

Ответ 2

попытайтесь создать .exe с помощью start4j.

вам нужно экспортировать проект как "runnable jar" (в eclipse).

В start4j вы выбрали выходной файл и входной файл. Вы можете даже связать JRE-путь к нему или установить версию min/max JRE.

Ответ 3

Какова версия java-версии проекта, она 32-битная? если вам не нужно использовать 32-битный jdk для создания проекта.