我正在使用IntelliJ Idea并尝试从项目结构中的resources文件夹中读取json文件。我读了json文件并使用jackson返回内容。
return mapper.readValue(File("src/main/resources/file.json"), Map::class.java)
一旦我构建项目并制作一个jar,它就会抛出一个无法找到文件的错误。我在这看了一下,发现我应该使用ClassLoader从资源文件夹中读取文件。所以我现在这样做 -
mapper.readValue(File( ClassLoader.getSystemClassLoader().getResource("src/main/resources/file.json").toURI()), Map::class.java)
现在我得到一个NullPointerException。我现在有点迷失了。非常感谢任何帮助。
答案 0 :(得分:2)
假设您的构建遵循默认约定,column1 = column2
下的任何内容都将在类路径的 root 上可用,因此您只需将代码更改为:
src/main/resource