繁体   English   中英

在Jar中读取资源文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM