weblogic12c java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectWriter
輸出log:
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectWriter.forType(Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/ObjectWriter;
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:278)
at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:100)
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:231)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:174)
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:81)
Truncated. see log file for complete stacktrace
解決方法:
開啟專案weblogic.xml
<?xml version="1.0" encoding="UTF-8"?> <wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.3/weblogic-web-app.xsd"> <wls:weblogic-version>10.3.6</wls:weblogic-version> <wls:context-root>luozhuang</wls:context-root> <wls:container-descriptor> <wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes> <wls:prefer-application-packages> <wls:package-name>org.slf4j</wls:package-name> <wls:package-name>org.springframework.*</wls:package-name> <wls:package-name>com.fasterxml.jackson.*</wls:package-name> </wls:prefer-application-packages> </wls:container-descriptor> </wls:weblogic-web-app>
關鍵程式碼:讓weblogic 使用專案jar包
<wls:container-descriptor> <wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes> <wls:prefer-application-packages> <wls:package-name>org.slf4j</wls:package-name> <wls:package-name>org.springframework.*</wls:package-name> <wls:package-name>com.fasterxml.jackson.*</wls:package-name> </wls:prefer-application-packages> </wls:container-descriptor>