JavaFX 部署问题

标签 java netbeans deployment javafx javafx-8

我正在使用 Netbeans 8.0.2Windows 8.1 64bit4GB RAM 上开发 JavaFX 8 应用程序正在运行 JDK 版本 8u25 64 位

应用程序平台是JDK version 8u25 32bit,问题是当我构建项目时应用程序运行正常但是当我进行 native 打包时我可以将 32 位 JRE 连同 exe 文件一起用于应用程序 netbeans 输出此消息并跳过构建 native 包:

由于配置问题跳过了 Bundler Windows 应用程序镜像:FX SDK 和 JRE 运行时之间的位架构不匹配。
修复建议:确保使用具有正确位架构的 JRE 运行时。

这是项目的 Build.xml 文件中的 My 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 发布应用程序?

最佳答案

我终于找到了解决方案,以便在 64 位 Windows 上对 JavaFX 8 应用程序进行原生 32 位 打包。您必须将 Netbeans Default Platform 更改为 32 Bit (x86) JDK 以便解决我执行以下操作的问题:-

  1. 以管理员身份启动 Notepad++。

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

  3. 已更改(我已将我的 JDK 从 8u25 更新到 8u40)

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

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

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

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

而且 Netbeans 的原生打包非常棒

关于JavaFX 部署问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28843475/

相关文章:

netbeans - 在 NetBeans 中,是否有用于在 HTML 标签之间移动的键盘快捷键?

java - 想要在不重启服务器的情况下重新加载 web.xml

deployment - 无法使用kubectl删除pod <pod>

java - 方法重载中的原始可变参数

java - 创建类实例

java - 冒泡排序代码打印的额外行

java - Java jdesktop FrameView 的 windowClosing 事件?

javascript - NodeJS 应用程序使用 Heroku 构建,但显示应用程序错误

java - 将aspectj应用于整个包而不是特定的类

java - 如何获取 Android 应用程序的提升权限