无法从 src/main/resources 访问 kotlin 中的资源



我有一个gradle kotlin项目,我想从我的资源目录加载一个文件。我的kotlin类在src/main/kotlin/packagenames中,我的资源在src/main/resources

在gradle构建包括kotlin插件(kotlin("jvm")版本"1.7.20")我的类被复制到build/classes/kotlin/main/packagenames和我的资源构建/resources/main

现在我试着从kotlin代码中读取这些文件

object {}.javaClass.getResourceAsStream("/resources/filename")

object {}.javaClass.classloader.getResourceAsStream("/resources/filename")

但是没有找到文件。

当我尝试查看它查找的目录

println(this.javaClass.getResource("/"))

导致build/classes/kotlin和javaClass。classLoader返回null访问'/'

这意味着通常我必须去两个目录,然后访问资源目录,但这不起作用,因为build/classes/kotlin似乎是根目录。你知道为什么会这样吗?

/resources/从输入字符串中删除,并尝试

object {}.javaClass.getResourceAsStream("/filename")

应该可以正常工作。

最新更新