【问题标题】:Java app no longer runs under OS X 10.11 El CapitanJava 应用程序不再在 OS X 10.11 El Capitan 下运行
【发布时间】:2015-12-11 01:03:57
【问题描述】:

我们有一组 Java 应用程序多年来一直在 OS X 上运行良好。它们在 OS X 10.10 上运行良好。

一些人刚刚升级到 10.11,其中一个应用程序不再运行。它得到一个:

com.apple.xpc.launchd[1]: (com.apple.xpc.launchd.oneshot.0x10000004.OSXJavaLauncher[395]) Service exited with abnormal code: 1

控制台中的错误,并且永远不会启动。 (图标会在任务栏上显示一秒钟。)

我们的其他应用程序启动正常。它使用相同的 Java Launcher 代码构建。

有什么方法可以找出 OS X 不喜欢无法启动的应用的哪些地方?

【问题讨论】:

  • 唯一的方法是调试,lldb,将日志写入控制台。我的猜测是,您崩溃的应用程序也会导致启动器崩溃。
  • 据我所知,实际的 Java 应用程序永远不会启动。我们要做的第一件事是打开应用程序的日志记录,然后什么都没有写入。由于这适用于所有以前的 OS X 版本,我希望有人会遇到这个问题,并且可以告诉我发生了什么变化。
  • 如果你不能通过应用程序确实完成了启动,那么我怀疑笔尖唤醒了。尝试做一个示例应用程序并尝试使用 Java Launcher 启动它。至少你知道该怪谁(崩溃的应用程序或启动器)。

标签: java macos launcher osx-elcapitan


【解决方案1】:

我遇到了同样的问题,基本上即使安装了Java for OS X 2015-001 我的应用程序也无法启动。在研究这个问题时,我发现了关于这个github page 的信息,它很好地解释了这个问题。简而言之,由于 plist 格式和 applicationstub 不兼容,使用旧工具内置到 mac 的本机可执行文件中的 Java 应用程序将不再工作。为 Apple 的 java 构建的应用程序无法与 Oracle 的 java 一起运行,反之亦然。

使用参考页面中的信息,我使用 ant taskapplication stub 重写了我们的 ant 构建。我现在有一个本机应用程序,可以在 Apple 的 Java 6 和 Oracle 的 Java 8 上运行,并在 OSX 10.9-10.11 上运行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    • 2015-08-26
    相关资源
    最近更新 更多