我有一个使用 SBT 构建的项目,它使用 one-jar 插件打包单个 jar。该项目在 src/main/resources/fixture 中包含一堆 json 文件,我曾经通过
访问这些文件new java.io.File(App.getClass.getResource("/fixture").getFile
不幸的是,由于没有返回任何资源,因此这不再有效。我认为 one-jar 使用一种特殊的类加载机制?解决这个问题的最佳方法是什么?
最佳答案
I think one-jar uses a special classloading mechanism?
是的,这一定是真的,因为没有标准化方法来加载打包到依赖jar中的类,而这些类又打包到应用程序jar。这通常是通过额外的类加载器技巧来实现的。
使用 One-JAR 时加载资源为 documented here .
关于jar - 通过 sbt 打包的 one-jar 内的类路径资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20635556/