在我的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.*依赖项首选项,并使用:prefer web-inf- classes为我的war类赋予优先级,但没有成功。我的Weblogic服务器有一个旧版本的smart-json (1.3版),在部署我的项目时总是优先使用它。我无法更新服务器的smart-json jar依赖项,因为我没有执行更改的权限。我也尝试过使用Weblogic的外部依赖文件夹(How to prefer JARs from Weblogic domain over those from weblogic system)。
有没有办法让com.jayway.jsonpath依赖与Weblogic协同工作?
谢谢。
发布于 2019-10-10 17:54:53
尝试在您的weblogic.xml中使用首选应用程序包,例如
<prefer-application-packages>
<package-name>com.jayway.*</package-name>
</prefer-application-packages>为了使其正常工作,请确保prefer web-inf-classes为false (这是默认设置)
https://stackoverflow.com/questions/58251397
复制相似问题