I have created a JavaFX application, and created its native bundle using Ant. When I am trying to launch application using Jar from bundle created with double click, it successfully launching my application. But when I am trying double click on MyApplication.exe (say), it throwing JavaFX Launcher Error "Exception while running Application".
I have compared both jre, there are many missing jar, exe, dll and some properties files I found.
I have these environment settings -
JAVA_HOME -- C:\Program Files\Java\jdk1.7.0_10
JREFX_HOME -- C:\Program Files\Oracle\JavaFX 2.2 Runtime
Path contains an entry of C:\Program Files\Java\jdk1.7.0_10\bin
JAVA_HOME and JREFX_HOME are used as in my build.xml to take ant-javafx.jar and jfxrt.jar --
${env.JAVA_HOME}/lib/ant-javafx.jar
${env.JREFX_HOME}/lib/jfxrt.jar
My steps to create bundle are -
<target name="CreatingExe" depends="SignedJar">
<fx:deploy width="800" height="600" nativeBundles="all" outdir="${OutputPath}" outfile="${app.name}">
<fx:info title="${app.title}"/>
<fx:application name="${app.title}" mainClass="${main.class}"/>
<fx:resources>
<fx:fileset dir="${OutputPath}" includes="*.jar"/>
<fx:fileset dir="${WorkingFolder}/temp"/>
</fx:resources>
</fx:deploy>
</target>
What more needed in build.xml so that application launch correctly with exe ?
Thanks
The problem of not launching JavaFx exe resolved by copying jre from "C:\Program Files\Java\jdk_version\jre" to \bundles\MyApplication\runtime\jre in build steps upon creating exe as -
<target name="CopyJre" depends="CreatingExe">
<delete dir="${app_path}/bundles/MyApplication/runtime/jre"/>
<mkdir dir="${app_path}/bundles/MyApplication/runtime/jre"/>
<copy todir=${app_path}/bundles/MyApplication/runtime/jre">
<fileset dir="${env.JAVA_HOME}/jre" />
</copy>
</target>
JAVA_HOME = C:\Program Files\Java\jdk_version
Thanks
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With