为啥 java 11 不再允许 macos 应用程序

Posted

技术标签:

【中文标题】为啥 java 11 不再允许 macos 应用程序【英文标题】:why does java 11 no longer allow macos app's为什么 java 11 不再允许 macos 应用程序 【发布时间】:2018-10-25 20:10:58 【问题描述】:

自从大约 6 年以来,我将 JAVA 程序打包到一个 .app 中 以便能够从 macOS 扩展坞启动程序。 突然,从 JAVA 11.0.1 开始,该应用程序似乎死了。构造:

'xyz.app'目录,

'Contents' 子目录,在里面:

带有xyz.jar和library.jar的'Java'目录,

带有“JavaAppLauncher”的“MacOS”目录,

带有xyz.icns(图标)的'Resources'目录,

'Info.plist' 和'Pkginfo';

多年来唯一修改的文件是 .jar 的

有谁知道.jar 中的元文件是否需要 不同的内容?

;乔普!

【问题讨论】:

Java 11 发生了很大变化。您是否尝试过直接运行 jar 文件? 是的,没有任何问题。 我做了一些测试,现在我确定是“JavaAppLauncher”的原因。它可能太旧了;只要我不必更改应用程序中的应用程序,我就可以让它与旧的 library.jar 一起使用;由于我的应用程序只是 Dock 中大型应用程序的引导程序,因此我休息一下。谢谢阅读。 ;JOOP! 【参考方案1】:

您可以在这里 fork 存储库:https://github.com/federkasten/appbundle-maven-plugin.git,然后相应地对其进行修复以在 Java 11 上运行。

【讨论】:

以上是关于为啥 java 11 不再允许 macos 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 macOS 上使用 QThread 时 PyQt 应用程序崩溃或挂起?

如果通过双击 JNLP 文件启动 JAVA Web Start 应用程序,如何允许它访问 macOS Catalina 上的文件系统?

为啥在 Python 多处理中将 start 方法从“fork”更改为“spawn”不再允许我运行我的工作?

为啥这个Java小程序会让MacOS重启?

macOS Sierra 10.12显示允许任何来源

将 MacOS X 菜单栏应用程序设置为在启动时启动