首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行在HFS+上,但不运行APFS

运行在HFS+上,但不运行APFS
EN

Stack Overflow用户
提问于 2017-10-04 09:57:31
回答 1查看 213关注 0票数 4

我已经遇到了这个问题,我发现网上没有任何信息,并希望得到一些帮助,因为我在过去几天一直致力于这个问题,没有任何线索。

为什么我的java应用程序突然停止为APFS工作?如果我将应用程序移动到非APFS,它就能工作,但当我将应用程序移动到格式化为APFS的SSD时,它就停止工作了。

当我检查应用程序日志时,发现由于某种原因,某些库在从格式化为APFS的SSD运行时没有被应用程序正确导入/识别。为什么它在APFS和HFS+ usb/硬盘驱动器上的行为会有所不同?

我已经隔离了这个案例,发现只有APFS才是常见的因素。我已经在其他设备上测试过它,那些在没有APFS驱动器的情况下运行High塞拉利昂的设备,以及那些使用SSD尚未转换为APFS驱动器的设备,并且只有那些使用APFS文件系统格式设置的设备遇到了这个问题。

其他信息:

  • Java应用程序已经正确地签名了,它是亲自发布的,但不是通过App发布的。
  • App是用AppBundler而不是JavaPackager捆绑的。
  • App运行在早期版本的OSX上,并且已经在数百台Mac设备上进行了分发和测试,OSX在10.8-10.12之间变化。
  • 不知何故没有被识别的库是apache库,比如Common-lang-2.6(我们还没有升级到3)、commons(必须手动将日志输出到桌面以查看发生了什么)。奇怪的是,app能够正确导入sqlite库。

谢谢你的寻找,并将感谢任何建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-12 10:04:07

我设法解决了上面的问题,但我不知道为什么。

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

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

我认为APFS缓存了commons.lang.3.6的一个副本,并且使用了这个库而不是我自己的库,所以类加载程序试图找到2.6版本时遇到了一个问题。因为只有APFS有一个缓存副本,所以它允许我的应用程序在USB上运行。

我其实不知道找出你自己问题答案的正确礼节,所以如果我有什么需要修改的,请随时更正我的帖子。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46562000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档