我正在使用 Spring Boot 和 json-schema-validator
。我正在尝试从 resources
文件夹中读取一个名为 jsonschema.json
--- 的文件。我尝试了几种不同的方法,但我无法让它工作。这是我的代码。
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("jsonschema.json").getFile());
JsonNode mySchema = JsonLoader.fromFile(file);
这是文件的位置。
在这里我可以看到 classes
文件夹中的文件。
但是当我运行代码时,出现以下错误。
jsonSchemaValidator error: java.io.FileNotFoundException: /home/user/Dev/Java/Java%20Programs/SystemRoutines/target/classes/jsonschema.json (No such file or directory)
我在代码中做错了什么?
原文由 g3blv 发布,翻译遵循 CC BY-SA 4.0 许可协议
在花了很多时间试图解决这个问题之后,终于找到了一个可行的解决方案。该解决方案使用了 Spring 的 ResourceUtils。应该也适用于 json 文件。
感谢 Lokesh Gupta 写得很好的页面: 博客
回答评论中的一些问题:
很确定我使用
java -jar target/image-service-slave-1.0-SNAPSHOT.jar
查看我的 github 存储库: https ://github.com/johnsanthosh/image-service 找出从 JAR 运行它的正确方法。