[英]Reading a resource file in Jar
我正在使用IntelliJ Idea,并尝试从项目结构中的resources文件夹中读取json文件。 我阅读了json文件,并使用杰克逊返回了内容。
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。 我现在有点迷路了。 任何帮助深表感谢。
假设您的构建遵循默认约定,那么src/main/resource
下的任何内容都将在类路径的根目录下可用,因此您只需将代码更改为:
mapper.readValue(ClassLoader.getSystemClassLoader().getResourceAsStream("file.json"), Map::class.java)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.