Nee*_*rma 8 java ant deployment bundle javafx-2
我创建了一个JavaFX应用程序,并使用Ant创建了它的本机包.当我尝试使用双击创建的包中的Jar启动应用程序时,它成功启动了我的应用程序.但是,当我尝试双击MyApplication.exe(比如说)时,它会抛出JavaFX Launcher Error"运行Application时出现异常".
我比较了两个jre,有很多缺少jar,exe,dll和我发现的一些属性文件.
我有这些环境设置 -
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
Run Code Online (Sandbox Code Playgroud)
在我的build.xml中使用JAVA_HOME和JREFX_HOME来获取ant-javafx.jar和jfxrt.jar -
${env.JAVA_HOME}/lib/ant-javafx.jar
${env.JREFX_HOME}/lib/jfxrt.jar
Run Code Online (Sandbox Code Playgroud)
我创建包的步骤是 -
<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>
Run Code Online (Sandbox Code Playgroud)
build.xml中还需要什么才能使应用程序正确启动exe?
谢谢
通过在创建 exe 时将 jre 从“C:\Program Files\Java\jdk_version\jre”复制到\bundles\MyApplication\runtime\jre解决了无法启动 JavaFx exe 的问题 -
<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>
Run Code Online (Sandbox Code Playgroud)
JAVA_HOME = C:\Program Files\Java\jdk_version
谢谢
| 归档时间: |
|
| 查看次数: |
7704 次 |
| 最近记录: |