gpt4 book ai didi

java - 读取 Jar 中的资源文件

转载 作者:行者123 更新时间:2023-11-29 04:18:23 26 4
gpt4 key购买 nike

我正在使用 IntelliJ Idea 并尝试从项目结构中的资源文件夹中读取一个 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。我现在有点迷路了。非常感谢任何帮助。

最佳答案

假设您的构建遵循默认约定,src/main/resource 下的任何内容都将在类路径的 root 上可用,因此您只需要更改代码到:

mapper.readValue(ClassLoader.getSystemClassLoader().getResourceAsStream("file.json"), Map::class.java)

关于java - 读取 Jar 中的资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50856923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com