spring resteasy 開介面時,報錯NoSuchMethodError: com.fasterxml.jackson.databind.ObjectWriter.getFactory() 的
原文地址:http://www.5ixiudou.com/portal/detailInfo/1000000005/231
編輯器:idea
報錯現象:在使用reasteasy 在 spring 中開開放介面時,在postman中呼叫介面報錯:NoSuchMethodError: com.fasterxml.jackson.databind.ObjectWriter.getFactory()。
報錯原因:
jackson jar包版本過低。
排查過程:
1.判斷是否是jar包衝突:首先看專案中引入了幾個包含該類的jar包。ctrl+n,看到就引入了一個包含該類的jar包,應該不是jar包衝突。
2.進一步判斷是否是jar包衝突:進入jar包中的ObjectWriter類,檢視是否是缺少getFactory()方法。經過檢視,果真木有這個方法,看來不是衝突,而是確實缺少這個方法。
3.基本確定是jar包版本的問題。一般會因為jar包版本過低造成這種情況。上網搜 databind json 版本,發現有更高的版本。修改maven依賴更高版本的jackson包,我是用 2.4.1版本解決的這個問題,依賴如下:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.4.1</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
注意:可能jackson有更高版本的,但是是慎用,要看程式碼環境,有時過高的版本會出現其他問題。就選擇一箇中間版本就可以了。
當然,如果沒有使用maven,可以手動匯入下面的jar包。如果需要其他版本的jar包,可以聯絡我。
jar包下載地址:http://www.5ixiudou.com/portal/detailInfo/1000000005/231
注意事項:
1.當發現jar包版本過低時,應當適當提高jar包版本,但不適宜太高。
2.如果依賴其他模組,一定要確認其他模組中的jackson相關依賴的版本,最好不要只修改一部分依賴的版本。比如,我的core和databind是在 demo-core 模組下,provider是在 demo-web 模組下,這時不要只修改 demo-web 模組下的 pom.xml,demo-core中的也要進行修改。
更多內容,請關注我的個人網站:www.5ixiudou.com,大家共同學習,共同進步。
相關文章
- Java操作某方法時報錯:java.lang.NoSuchMethodErrorJavaError
- Bug集錦-Spring Cloud Feign呼叫其它介面報錯SpringCloud
- Java報錯:java.lang.NoSuchMethodError: io.netty.util.internal.ObjectUtil.checkPositiveJavaErrorNettyObject
- 呼叫https介面時報錯:PKIX path building failed 的問題HTTPUIAI
- 解決java.lang.NoSuchMethodError錯誤JavaError
- 請求介面報錯
- Spring報錯彙總Spring
- Spark讀取Hbase報錯NoSuchMethodError: org.apache.hadoop.conf.Configuration.getPassword(Ljava/lang/String;SparkErrorApacheHadoopJava
- 出現可怕的NoSuchMethodError錯誤的解決辦法 -Gunnar MorlingError
- Tomcat啟動時Initializing Spring FrameworkServlet 'springmvc'卡住,並且不報錯TomcatFrameworkServletSpringMVC
- 呼叫HMS SDK介面報錯6004
- 呼叫HMS SDK介面報錯6003
- spring boot 啟動時報錯The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized orJDBC driverSpring BootServerZedJDBC
- SQL server開啟 安裝包時報錯SQLServer
- spring boot 2.0.0由於版本不匹配導致的NoSuchMethodError問題解析Spring BootError
- spring cloud 2020 gateway 報錯503SpringCloudGateway
- spring引入properties變數報錯Spring變數
- tar解包時報錯
- 使用 postman 除錯 jwt 開發的介面Postman除錯JWT
- PHP 介面呼叫報錯 502 Bad GatewayPHPGateway
- Charles 用不了,Charles 開啟時報錯的解決方案
- Spring的BeanFactoryPostProcessor介面SpringBean
- 使用 Spring Framework 時常犯的十大錯誤SpringFramework
- facebook測試廣告的時候用chrom的手機模式除錯會報介面不支援模式除錯
- Laravel 54 配置 Elasticsearch 時的報錯提示LaravelElasticsearch
- 【Java面試】Spring 中,有兩個 id 相同的 bean,會報錯嗎,如果會報錯,在哪個階段報錯Java面試SpringBean
- Spring Cloud微服務介面這麼多怎麼除錯?SpringCloud微服務除錯
- Spring Boot整合Swagger報錯:"this.condition" is nullSpring BootSwaggerNull
- (grid重灌後圖形介面報錯)ASM磁碟組字元介面配置ASM字元
- 誰遇到過執行 monkey 的時候報 filenotfound 的報錯
- 電腦開機時報錯No Bootable Device找不到索引的解決方法bootdev索引
- springboot開發介面報錯Optional int parameter 'userId' is present but cannot be translated into a null v......Spring BootNull
- 華為支付購買Token的verify介面報錯wrong applicationAPP
- dimp時報錯,字串截斷字串
- yii執行phpunit時報錯PHP
- Spring Boot建立DataSource時遇到的錯誤:No supported DataSource type foundSpring Boot
- 用 Httprunner3 做介面測試遇到了問題,.with_json 的引數是列表時報錯HTTPJSON
- 如何使用Spring的FactoryBean介面SpringBean