В моем проекте Spring-Boot я использую эту зависимость:
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.0.0</version>
</dependency>
Эта зависимость внутренне использует зависимость json-smart 2.3. Когда я пытаюсь развернуть свой проект в Weblogic 12C, я получаю следующую ошибку:
java.lang.NoSuchFieldError: defaultReader
at com.jayway.jsonpath.spi.json.JsonSmartJsonProvider.<init> (JsonSmartJsonProvider.java:39)
at com.jayway.jsonpath.internal.DefaultsImpl.jsonProvider(DefaultsImpl.java:21)
at com.jayway.jsonpath.Configuration.defaultConfiguration(Configuration.java:174)
at com.jayway.jsonpath.internal.JsonContext.<init>(JsonContext.java:52)
at com.jayway.jsonpath.JsonPath.parse(JsonPath.java:596)
Я уже пробовал решения, предложенные в:
JSON Parser -java.lang.NoSuchFieldError: defaultReader
В частности, я попытался добавить в свой файл weblogic.xml предпочтение зависимостей net.minidev.json. * и присвоить приоритет моим военным классам с помощью: Предпочитать-web-inf-занятия без успеха. Мой сервер Weblogic имеет старую версию smart-json (версия 1.3), и он всегда получает преимущество при развертывании моего проекта. Я не могу обновить серверную зависимость smart-json jar, так как у меня нет прав на изменение. Я также безуспешно пытался использовать папку внешних зависимостей Weblogic ( Как предпочесть JAR из домена Weblogic по сравнению с файлами из системы weblogic ).
Есть ли способ сделать com.jayway. Работа с jsonpath зависит от Weblogic?
Спасибо.