OSX Java App Bundle 在 HFS+ 而不是 APFS 上运行

OSX Java App Bundle runs on HFS+ but not APFS

我一直遇到这个问题,我发现网上没有相关信息,我希望得到一些帮助,因为过去几天我一直在研究这个问题,但没有任何线索。

为什么我的 java 应用突然停止支持 APFS?如果我将应用程序移动到非 APFS USB,它可以工作,但是当我将应用程序移动到格式化为 APFS 的 SSD 时,它停止工作。

当我检查应用程序日志时,发现由于某种原因,某些库在从 SSD 格式化为 APFS 运行 时未被应用程序正确 imported/recognized。为什么它在 APFS SSD 和 HFS+ usb/hard 驱动器中的表现不同?

我已经隔离了这个案例,发现只有APFS是公因数。我已经在其他设备上测试过它,那些 运行 High Sierra 没有 APFS 驱动器,那些 运行 Sierra 有一个尚未转换为 APFS 驱动器的 SSD,只有那些设备使用 APFS 文件系统格式的系统遇到问题。

附加信息:

感谢您的浏览,如有任何建议,我们将不胜感激!

我已经设法解决了上述问题,但不确定原因。

解决方法: 将 commons.lang.2.6 更新为 commons.lang.3.6

目前,我希望它不会遇到除此之外的任何其他问题,但我只能猜测发生了什么。

我认为 APFS 缓存了 commons.lang.3.6 的副本并使用了该库而不是我自己的库,因此 class 加载程序试图找到 2.6 版本时出现问题。由于只有 APFS 会有缓存副本,因此它允许我的应用程序 运行 在 USB 上。


其实我不知道寻找自己问题答案的正确礼节,所以如果有什么需要更改的地方,请随时纠正我的post。