2017-10-04 55 views
4

我已经遇到这个问题,我觉得有在网络上没有的信息,并希望一些帮助,因为我一直工作在这最后几天,没有线索。OSX的Java应用程序软件包运行在HFS +但不是的APF

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

当我检查应用程序日志,事实证明,出于某种原因,某些库没有被正确地当它从格式化的APF的SSD运行导入/由应用的认可。为什么它在APFS SSD和HFS + USB /硬盘驱动器中表现不同?

我已经分离出的情况下,发现只有有源电力滤波器是常见因素。我已经在其他设备上运行过,没有APFS驱动器运行High Sierra的设备,以及运行Sierra还没有转换为APFS驱动器的SSD,只有那些使用APFS文件系统格式的设备遇到了问题。

附加信息:

  • Java应用程序是否已签字,它通过App Store的个人但尚未发放。
  • 应用程序使用AppBundler而不是JavaPackager捆绑在一起。
  • 应用程序运行在先前版本的OSX上,并且已经在数百台Mac OS设备上运行,并且OSX介于10.8 - 10.12之间
  • 某些方式无法识别的库是apache库,如commons-lang -2.6(我们还没有升级到3),commons-logging(必须手动输出日志到桌面才能看到发生了什么)。奇怪的是,应用程序能够正确导入sqlite库。

为希望感谢,并希望任何建议!

+0

你能否给我们提供一些关于库没有被正确识别的信息? –

+0

@AleksandrMukhalov我在原始问题中添加了一些库。感谢您的期待! –

+0

是配置为区分大小写的APFS(以前是唯一可用的变体)?那么你的HFS + USB驱动器(通常不是)呢?类加载器和捆绑依赖文件名 –

回答

2

我已经设法解决上述问题,但我不确定为什么。

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

目前,我希望它不会从遇到任何其他问题不谈,但我只能猜测,是什么发生。

我想的APF缓存commons.lang.3.6的副本,并使用该库,而不是我自己的,所以不存在与类加载器试图找到2.6版本的问题。由于只有APFS才有缓存副本,因此它可以让我的应用程序在USB上运行。


我真的不知道找出答案,你自己的问题了正确的礼仪,所以请随时纠正我的帖子,如果有什么事,我需要改变。

相关问题