macOS Ventura下Java编写的.app应用提示损坏的解决求助
macOS应用提示“已损坏无法打开”的问题求助
问题场景
- 设备:M2 MacBook Pro 15英寸(32GB内存、2TB存储),系统版本Ventura 13.3 (22E252)
- 应用:Java编写的EazyCNC-2.0.38,从官方渠道下载对应dmg安装包
- 启动错误:弹出提示“EazyCNC-2.0.38.app已损坏,无法打开。您应将其移至废纸篓”
- 其他测试:搭载Ventura系统的Intel款MBP尝试启动,出现相同错误
已尝试的解决方案(均无效)
- 移除应用隔离属性(旧款Intel MBP的Monterey系统上曾有效):
xattr -rc /Applications/EazyCNC-2.0.38.app - 参照M1 MacBook朋友的有效操作尝试:
- 执行
xattr -rc /EazyCNC-2.0.38.dmg,朋友操作后系统仍提示损坏但允许启动,此操作对我无效 - 执行
xattr -rc /Applications/EazyCNC-2.0.38.app/Contents,朋友操作后错误提示消失,此操作对我无效
- 执行
- 将应用添加至「系统设置/隐私与安全性」中的「开发者工具」
- 右键两次点击打开应用
- 点击「系统设置」中“EazyCNC-2.0.38.app因来自未识别开发者被阻止”提示的「仍要打开」按钮
- 禁用系统应用评估:
系统显示“允许从任何来源下载的应用”选项,但问题依旧sudo spctl --global-disable spctl --status # 返回结果:assessments disabled
补充信息
- 设备受Cortex XDR远程管理,本人拥有管理员权限,可能对应用启动存在影响
- 执行签名检测命令
spctl --assess /Applications/EazyCNC-2.0.38.app,得到提示:/Applications/EazyCNC-2.0.38.app: code has no resources but signature indicates they must be present - 应用由jpackage创建,.app/Contents中的原生启动器为Intel架构,内置JVM为temurin-11.jdk(Intel架构)
- Eclipse中直接运行JVM及代码无任何问题,排除Java本身问题
- 当前本地Java版本:
java --version openjdk 18.0.2 2022-07-19 OpenJDK Runtime Environment Temurin-18.0.2+9 (build 18.0.2+9) OpenJDK 64-Bit Server VM Temurin-18.0.2+9 (build 18.0.2+9, mixed mode)
求助
寻求解决该应用启动时提示“已损坏”问题的可行方案
内容的提问来源于stack exchange,提问作者nyholku
相关产品推荐
相关产品推荐

