我在2.10.3版本中依赖jakson-annotation。一切都正常,但是当我尝试部署应用程序时,突然之间我在依赖项和Weblogic第三方库之间发生冲突。 Weblogic上的版本显然是2.7.9。
***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
com.fasterxml.jackson.datatype.jsr310.deser.JSR310DateTimeDeserializerBase.createContextual(JSR310DateTimeDeserializerBase.java:104)
The following method did not exist:
com.fasterxml.jackson.annotation.JsonFormat$Value.hasLenient()Z
The method's class, com.fasterxml.jackson.annotation.JsonFormat$Value, is available from the following locations:
jar:file:/C:/.../Oracle/Middleware/Oracle_Home/oracle_common/modules/thirdparty/jackson-annotations-2.7.9.jar!/com/fasterxml/jackson/annotation/JsonFormat$Value.class
zip:C:/.../Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/my_app_war/jixshv/war/WEB-INF/lib/jackson-annotations-2.10.3.jar!/com/fasterxml/jackson/annotation/JsonFormat$Value.class
It was loaded from the following location:
file:/C:/.../Oracle/Middleware/Oracle_Home/oracle_common/modules/thirdparty/jackson-annotations-2.7.9.jar
确定,是因为Spring Boot 2.2.0+使用具有此方法的2.10.0。
解决方案在weblogic.xml中:
<prefer-application-packages>
...
<package-name>...</package-name>
<package-name>com.fasterxml.*</package-name>
<package-name>...</package-name>
...
</prefer-application-packages>