Невозможно создать собственный пакет для приложения 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
Однако этого не достаточно!
Ответы
Ответ 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 для создания проекта.