【问题标题】:Bundle your JavaFX App with a JRE - Mac Edition将您的 JavaFX 应用程序与 JRE 捆绑在一起 - Mac 版
【发布时间】:2015-09-08 16:20:43
【问题描述】:

我在 Netbeans 将 Java 程序打包到本机 Mac 应用程序的方式上遇到了一个重大问题(对于那些不熟悉的人,Netbeans 可以将您的 Jar 文件与 JRE 捆绑在一起,因此您拥有一个完全独立的应用程序。客户端甚至不需要在他们的计算机上安装Java来运行它。整个过程解释得很好here)。

我发现的问题是 Netbeans 生成的应用程序完全忽略了 JavaFX 预加载器。我认为这是因为添加了精简的 JRE。我在网上找不到任何解决方案,想在这里为遇到相同问题的任何人发布一个解决方案。

【问题讨论】:

    标签: macos netbeans javafx bundle preloader


    【解决方案1】:

    这是你必须做的:

    1. 使用上面链接的过程,像往常一样打包应用程序。
    2. 右击生成的应用,选择Show Package Contents。然后进入Contents文件夹。
    3. 进入插件文件夹。这包含 JRE。删除它。
    4. 用存储在您计算机上的副本替换已删除的 JRE。它可以在 Your Hard Drive
    5. 回到Contents文件夹,进入MacOS文件夹。这包含运行 Jar 文件的 shell。使用文本编辑器打开其中的可执行文件并删除所有内容。将其替换为:

    #!/bin/sh

    # Constants APP_JAR="YOURAPP.jar" APP_NAME="YOURAPP" VM_ARGS=""

    # Set the working directory DIR=$(cd "$(dirname "$0")"; pwd)

    # Set java location _java="../PlugIns/jdk1.8.0_05.jdk/Contents/Home/bin/java"

    # Move to correct directory cd $DIR

    # Run the application exec $_java $VM_ARGS -Dapple.laf.useScreenMenuBar=true -Dcom.apple.macos.use-file-dialog-packages=true -Xdock:name="$APP_NAME" -Xdock:icon="$DIR/../Resources/ICON.icns" -cp ".;$DIR;" -jar "$DIR/../Java/$APP_JAR"

    在上面,将 YOURAPP 替换为您的 jar 文件的名称,jdk1.8.0_05 对于您在第 4 步中添加的任何 Java 版本,ICON 作为您的应用程序图标的名称(如果有的话)。

    1. 如果您想从标准 Java 徽标更改应用程序的图标,请返回 Contents 并将您自己的 .icns 文件添加到 Resources 文件夹。

    你有它!应用程序应按预期运行,预加载器等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      • 2011-11-02
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多