В web проекте Java есть 2 объекта типа String - JSON и JSONSchema. Пытаюсь проверить соответствует ли json схеме. Добавляю в зависимости проекта Maven - Jackson. Он работает в связке вот с этой либой:
<dependency>
<groupId>com.github.fge</groupId>
<artifactId>json-schema-validator</artifactId>
<version>2.2.6</version>
</dependency>
Как только добавляю зависимости этой либы, проект перестает деплоится. В качестве локального сервера использую GlassFish.
ERROR:
java.io.IOException: com.sun.enterprise.admin.remote.RemoteFailureException: Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: java.lang.ClassNotFoundException: org.joda.time.ReadableInstant
Пробовал другие версии, не помогло.
Такая проблема сразу после добавления зависимости.
Если написать код и протестировать вне сервера, все работает.
Пример кода:
public static boolean validate(String jsonData, String jsonSchema) {
try {
JsonNode schema = JsonLoader.fromString(jsonSchema);
JsonNode data = JsonLoader.fromString(jsonData);
final JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
JsonValidator validator = factory.getValidator();
ProcessingReport report = validator.validate(schema, data);
return report.isSuccess();
} catch (Exception e) {
System.err.println("ERROR WHILE VALIDATING JSON WITH SCHEMA");
throw new RuntimeException(e);
}
}
java.lang.ClassNotFoundException
говорит о том, что в момент компиляции кода класс был, а в рантайме его нет. У json-schema-validator
(если верить его pom.xml в maven central) есть зависимость от библиотеки yoda-time
(на класс именно из этой библиотеки ругается)
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.3</version>
<scope>compile</scope>
</dependency>
Видимо, для корректной работы выбранного Вами валидатора, Вам нужно добавить в свои зависимости и эту библиотеку.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь записать/прочитать информацию с NFC тэга (NfcV) M24LR64E-R
У меня есть две картинки, они кликабельные, нажимая на эти картинки, я меняю цвет Action BarНо один код работает отлично, другой абсолютно такой...
Я разрабатываю игровое дополнение для Minecraft и столкнулся со следующей проблемойКогда я выполняю команду на добавление клана, то происходит...
Пытаюсь подключиться к БДjar файл подключил как библиотеку