Я упакую свое приложение JavaFX с java 1.8u45 и Inno5 в виде файла .exe с муравьем. И исполняемый файл работает при установке его на компьютер, где либо установлена Java 8, либо устанавливается как переменная среды JAVA_HOME или когда никакой Java не установлен вообще. Но если, например, java 1.6 или меньше, а для переменной JAVA_HOME установлено значение java 1.6, приложение не запускается с самой общей ошибкой Failed to start jvm
. Запуск связанного файла .jar через java -jar foobar.jar
либо приводит к сбою, но и полностью останавливает jvm или печатает unsupported major.minor version 52.0
.Приложение JavaFX не запускается, когда установлен JAVA_HOME
Как я могу сказать JavaFX никогда не использовать JAVA_HOME?
Приложение поставляется в виде EXE-файла с fxbuilder, используя:
<fx:deploy verbose="true" embedJNLP="false" extension="false" includeDT="false" offlineAllowed="true" outdir="${basedir}/target/deploy" outfile="application" nativeBundles="exe" updatemode="background">
<!-- To list all classes loaded -->
<!--<fx:jvmarg value="-verbose:class"/>
<fx:platform basedir="${java.home}" />-->
<fx:info title="App" vendor="Me" />
<fx:application refId="fxApplication" />
<fx:resources refid="appRes" />
</fx:deploy>
Просьба уточнить, как вы упаковываете приложение? Вы использовали fxpackager с этими параметрами? –
@SergeyGrinev yes Я использую fxpackager и обновил quesion более подробную информацию. – Huber