我构建了这个应用程序并尝试转移到移动/本机桌面。在移动和本机中,我从类路径加载资源时出错。桌面版错误:
Caused by: java.lang.NullPointerException
at org.fxapps.alphabet.AlphabetFX.bulkDetailsImages(AlphabetFX.java:178)
但是,请注意我也不能加载单个文件,它返回 null。
检查我的项目:https ://github.com/jesuino/alphabetfx
我注意到使用 adb 的 android 应用程序存在相同的错误。
尝试了不同的方法:
- 使用最新版本的胶子
- 将所有内容放在同一个项目中
还要注意它在本地工作,仅适用于 Java。我什至无法在根类路径(/details)上加载文件。
我有同样的应用程序,效果很好:https ://github.com/jesuino/battleship-game
这可能是因为我的类路径中有太多资产吗?还是有某种缓存?我可以在调试日志中看到它处理了我的大部分资产。
您可以通过以下方式重现错误:
- 使用构建项目
mvn clean install
- 然后进入alphabetfx-app并运行
mvn client:build client:package
- 尝试运行可执行文件:
./target/client/x86_64-linux/AlphabetFXApp
请帮忙!
编辑:
正如 Jose 在 Twitter[1] 中指出的那样,列出来自 JAR 或本机位(没有 FS)的资源将不起作用,因此我使用了一个名为“details.txt”的文件。但是,当我尝试阅读它时,我仍然得到一个空值。我将继续使用这种方法,并在找到它时用我的解决方案更新它。
[1] https://twitter.com/JPeredaDnr/status/1323348851345002502