【问题标题】:Java Mac appbundle resource pathJava Mac appbundle 资源路径
【发布时间】:2012-11-17 10:17:46
【问题描述】:

使用来自 oracle (http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html) 的 appbundler ant 任务,我可以使用捆绑的 JRE7 创建一个可以工作的 Mac 应用程序,但由于 Info.plist 接缝中的路径无效,加载一些资源(如本机库)失败。

在我使用的 build.xml ant 任务中(我的原生库被复制到 app-bundle 内的 Contents/Java 文件夹):

a) <option value="-Djava.library.path=Contents/Java/" />
b) <option value="-Djava.library.path=$JAVAROOT/" />
c) <option value="-Djava.library.path=$APP_PACKAGE/Contents/Java/" />

所有结果都会导致 UnsatisfiedLinkError。还没有找到像 splash-image 等其他一些资源:

<option value="-splash:Contents/Java/my-splash.png" />

知道如何在此处正确设置 JVMOptions 的路径吗?

编辑:Java7 appbundler 使用的 plist 语法与来自 Apple 的 Jar Bundler 的语法不同,后者带有 jdk6,例如没有“Java”字典来添加 SplashFile。

【问题讨论】:

    标签: java macos ant java-7


    【解决方案1】:

    根据appbundler task documentation,您要查找的魔法变量是$APP_ROOT

    <option value="-Djava.library.path=$APP_ROOT/Contents/Java/" />
    

    这也适用于 &lt;argument value="..."/&gt;(主类的参数,而不是 JVM 的选项)。

    【讨论】:

      猜你喜欢
      • 2014-02-09
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 2013-03-19
      相关资源
      最近更新 更多