++ добавить я хочу проверить json на основе файла схемы json. В настоящее время я сохраняю json как строку и пытаюсь прочитать файл схемы json (это test.json), а затем проверить. однако чтение файла схемы всегда равно нулю.
Ниже код я пробовал до сих пор.
++ оригинальный пост.
Это моя текущая ситуация. Я пробовал много способов получить файл (test.json) ...
Нравится
InputStream in;
1. in= valid.class.getResourceAsStream("/test.json");
2. in = getClass().getClassLoader().getResourceAsStream("/test.json");
3. in = Thread.currentThread().getContextClassLoader().getResourceAsStream("//test.json");
4. in=getClass().getResourceAsStream("/test.json");
5. in=ValidationUtils.class.getResourceAsStream("../resources/ds/test.json");
6. ClassLoader classLoader = getClass().getClassLoader();
in = classLoader.getResourceAsStream("test.json");
7.in=getClass().getResourceAsStream("/ds/test.json"); //tried just now
System.out.println("in"+in); //this is always null.
Ничего .. работа .. выше .. помогите пожалуйста ...
2 ответа
Вы не можете (по умолчанию) получить доступ к ресурсам src/test/resources
из кода в src/main/java
. Все ресурсы src/test/resources
доступны только для тестов, которые обычно хранятся в src/test/java
и выполняются на этапе test
(в Maven). На этом этапе код test может получить доступ к этим ресурсам некоторыми (не всеми) методами, которые вы указали в своем вопросе.
Для ваших основных классов корень ресурсов - src/main/resources
. Вы должны сохранить там свой файл схемы JSON. Тестовый код также может получать доступ к ресурсам, хранящимся там (поэтому дублирование не требуется), но не наоборот.
При получении ресурсов папка ресурсов является корневой. Если файл находится во вложенной папке, вам необходимо включить его в свой путь. использование
in = getClass().getResourceAsStream("/ds/test.json");
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].