我遇到过这个问题,我发现网上没有任何信息,并希望得到一些帮助,因为我在过去的几天里一直在努力解决这个问题。
为什么我的java应用程序突然停止为APFS工作?如果我将应用程序移动到非APFS USB,它可以工作,但当我将应用程序移动到格式化为APFS的SSD时,它会停止工作。
当我检查应用程序日志时,事实证明,由于某些原因,当应用程序从格式化为APFS的SSD运行时,某些库未被应用程序正确导入/识别。为什么APFS SSD与HFS + usb /硬盘驱动器的行为不同?
我已经将案件隔离开来,发现只有APFS才是常见因素。我已经在其他设备上测试了它,那些在没有APFS驱动器的情况下运行High Sierra的设备,以及那些使用尚未转换为APFS驱动器的SSD运行Sierra的设备,只有那些使用APFS文件系统格式的设备是遇到这个问题。
其他信息:
感谢您的关注,并感谢任何建议!
答案 0 :(得分:2)
I’ve managed to fix the above issue, but I’m unsure as to why.
Solution: Update commons.lang.2.6 to commons.lang.3.6
Currently, I’m hoping that it will not encounter any other issue aside from that, but I can only guess as to what was happening.
I think APFS cached a copy of commons.lang.3.6 and used that library instead of my own, so there was an issue with class loaders trying to find the 2.6 version. Since only APFS would have a cached copy, it would allow my app to run on a USB.
I don’t actually know the correct etiquette for finding out the answer to your own question, so please feel free to correct my post if there’s anything I need to change.