JavaFX部署问题

4
我正在使用 Windows 8.1 64位4GB RAMJDK版本为8u25 64位的Netbeans 8.0.2 开发JavaFX 8应用程序。应用程序平台是JDK版本为8u25 32位,问题在于当我构建项目并打包时,应用程序可以正常运行,但当我进行原生打包以便将32位JRE与exe文件一起分发时,Netbeans输出以下信息并跳过构建本机包:

"由于FX SDK和JRE运行时之间的位架构不匹配,所以配置问题导致Bundler Windows Application Image被跳过。 解决建议:确保使用正确位架构的JRE运行时。"

这是项目Build.xml文件中的Target标签:

<target name="-post-jfx-deploy">
<fx:deploy width="${javafx.run.width}" height="${javafx.run.height}"
       nativeBundles="image"
       outdir="${basedir}/${dist.dir}" outfile="${application.title}">
    <fx:platform basedir="${java.home}"/>  
    <fx:platform basedir="C:\Program Files (x86)\Java\jdk1.8.0_25\jre"/> 
    <fx:application name="${application.title}" mainClass="${javafx.main.class}"/>
    <fx:resources>
        <fx:fileset dir="${basedir}/${dist.dir}" includes="*.jar"/>
    </fx:resources>
    <fx:info title="${application.title}" vendor="${application.vendor}"/>
</fx:deploy>

所以我的问题是为什么Netbeans会将FX SDK版本与项目平台不匹配?虽然我已经在项目设置中指定使用32位JDK,在build.xml文件中也是如此,并且如何随附32位JRE来发布应用程序?
1个回答

4
我终于找到了一种方法来在 64 位 Windows 上制作 JavaFX 8 应用程序的本机 32 位打包。您必须将 Netbeans 默认平台更改为 32 位 (x86) JDK,所以我按照以下步骤解决了问题:
  1. 以管理员身份启动 Notepad++。

  2. 打开 C:\Program Files\NetBeans 8.0.2\etc\netbeans.conf

  3. 更改 (我已将 JDK 更新为 8u40)

    netbeans_jdkhome="C:\Program Files\Java\jdk1.8.0_40"

    netbeans_jdkhome="C:\Program Files (x86)\Java\jdk1.8.0_40"

  4. 将项目平台更改为默认平台以匹配 netbeans 默认平台,并将 platform 标签在 build.xml 中更改为

    <fx:platform basedir="C:\Program Files (x86)\Java\jdk1.8.0_40\jre"/>

这样,Netbeans 就可以轻松进行本机打包了。

你使用了太多的粗体字,这并不一定会使文本更易读。将来请与 SO 中的其他条目进行比较,并调整使用量。 - akauppi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接