我试图使用来自Java.net和BitBucket项目的ant和AppBundler将我的Java应用程序捆绑为Mac.app"文件"。
它与JDK/JJRE 7u25配合使用很好,但不幸的是,Mac OS X上的Java 7存在关于文件名中特殊字符的错误。这个问题在Java 8中得到了解决。我知道目前的Java8只是一个预览版,事情很可能并不完美。
事实上,创建捆绑包的ant任务运行时没有错误,但当我试图启动程序时,它就是无法运行。
所以我打开了一个终端,直接启动了JavaAppLauncher:
% ./JavaAppLauncher
Error: dl failure on line 670
Error: failed /Users/krickl/git/PowerFolder-Pro/dists/PowerFolder_Generic/PowerFolder.app/Contents/PlugIns/jdk1.8.0.jdk/Contents/Home/jre//lib/server/libjvm.dylib, because dlopen(/Users/krickl/git/PowerFolder-Pro/dists/PowerFolder_Generic/PowerFolder.app/Contents/PlugIns/jdk1.8.0.jdk/Contents/Home/jre//lib/server/libjvm.dylib, 10): no suitable image found. Did find:
/Users/krickl/git/PowerFolder-Pro/dists/PowerFolder_Generic/PowerFolder.app/Contents/PlugIns/jdk1.8.0.jdk/Contents/Home/jre//lib/server/libjvm.dylib: truncated fat file. file length=4194304, but needed slice goes to 10978336
有人知道这条信息是关于什么的吗?我在这里做错了什么?或者这是关于我使用的Java 8预览版的问题?
今天Oracle发布了Java 8的开发人员预览版。通过这个版本,我成功地捆绑了Mac应用程序。