将您的 JavaFX 应用程序与 JRE 捆绑在一起 - Mac 版本
Bundle your JavaFX App with a JRE - Mac Edition
我 运行 发现 Netbeans 将 Java 程序打包成原生 Mac 应用程序的方式存在重大问题(对于那些不熟悉的人,Netbeans 可以捆绑您的 Jar 文件有了 JRE,您就拥有了一个完全独立的应用程序。客户甚至不必在他们的计算机上安装 Java 就可以 运行 它。整个过程解释得很好 )。
我发现的问题是 Netbeans 生成的应用程序完全忽略了 JavaFX 预加载器。我认为这是因为添加了精简的 JRE。我在网上找不到任何解决方案,想 post 在这里为 运行 遇到相同问题的任何人提供一个解决方案。
这是你必须做的:
- 使用上面链接的过程,像往常一样打包应用程序。
- 右击生成的应用select显示包内容然后进入Contents文件夹
- 进入 Plugins 文件夹。这包含 JRE。删除它。
- 用您计算机上存储的副本替换已删除的 JRE。它可以在 你的硬盘 < 库 < Java < Java 虚拟机中找到。如果里面有多个文件夹,只需要复制你需要的版本即可。
- 返回Contents文件夹,进入MacOS文件夹。这包含 shell,运行 是您的 Jar 文件。使用文本编辑器打开其中的可执行文件并删除所有内容。将其替换为:
#!/bin/sh
# Constants
APP_JAR="YOURAPP.jar"
APP_NAME="YOURAPP"
VM_ARGS=""
# Set the working directory
DIR=$(cd "$(dirname "[=12=]")"; 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 作为您的应用程序图标的名称(如果有的话)。
- 如果您想更改应用程序的标准 Java 徽标图标,请返回 Contents 并将您自己的 .icns 文件添加到 资源文件夹。
给你!该应用程序应该 运行 符合预期,预加载器和所有。
我 运行 发现 Netbeans 将 Java 程序打包成原生 Mac 应用程序的方式存在重大问题(对于那些不熟悉的人,Netbeans 可以捆绑您的 Jar 文件有了 JRE,您就拥有了一个完全独立的应用程序。客户甚至不必在他们的计算机上安装 Java 就可以 运行 它。整个过程解释得很好
我发现的问题是 Netbeans 生成的应用程序完全忽略了 JavaFX 预加载器。我认为这是因为添加了精简的 JRE。我在网上找不到任何解决方案,想 post 在这里为 运行 遇到相同问题的任何人提供一个解决方案。
这是你必须做的:
- 使用上面链接的过程,像往常一样打包应用程序。
- 右击生成的应用select显示包内容然后进入Contents文件夹
- 进入 Plugins 文件夹。这包含 JRE。删除它。
- 用您计算机上存储的副本替换已删除的 JRE。它可以在 你的硬盘 < 库 < Java < Java 虚拟机中找到。如果里面有多个文件夹,只需要复制你需要的版本即可。
- 返回Contents文件夹,进入MacOS文件夹。这包含 shell,运行 是您的 Jar 文件。使用文本编辑器打开其中的可执行文件并删除所有内容。将其替换为:
#!/bin/sh
# Constants APP_JAR="YOURAPP.jar" APP_NAME="YOURAPP" VM_ARGS=""
# Set the working directory DIR=$(cd "$(dirname "[=12=]")"; 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 作为您的应用程序图标的名称(如果有的话)。
- 如果您想更改应用程序的标准 Java 徽标图标,请返回 Contents 并将您自己的 .icns 文件添加到 资源文件夹。
给你!该应用程序应该 运行 符合预期,预加载器和所有。