使用 JSON 配置,我指定了一个 opendjk 预构建,其中包含一个 JRE。(实际上是自述文件中 packr 示例中指定的确切内容)
它成功地将我的 JAR 打包到一个 mac 可执行文件中。
我运行可执行文件,它在我的 Yosemite 上按预期工作(我还安装了 Oracle JDK)
当我在另一台装有 Yosemite(没有安装任何 JDK)的 Mac 上运行可执行文件时,它会抛出java/lang/NoClassDefFoundError: java/lang/Object
但它应该使用由 packr 指定并与可执行文件一起打包的 JRE。它不应该依赖于系统来安装 JDK。
编辑:添加 config.json 代码 -
{
"platform": "mac",
"jdk": "/Users/absolute/path/to/jdk/openjdk-1.7.0-u45-unofficial-icedtea-2.4.3-macosx-x86_64-image.zip",
"executable": "myApp",
"appjar": "/Users/absolute/path/to/jar/MyJar.jar",
"mainclass": "self/edu/Main",
"vmargs": [
"-Xmx256M"
],
"resources": [
],
"minimizejre": "soft",
"outdir": "out-mac"
}