If you are using spring framework, then you might encounter below error

java.lang.NoSuchMethodError: ‘java.util.List org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.getPartConverters()

The error means that some class is calling getPartConverters() method from org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter class but it cannot find this method.

Full stack trace for the error is

Failed to instantiate [org.springframework.boot.autoconfigure.http.HttpMessageConverters]: Factory method ‘messageConverters’ threw exception; nested exception is java.lang.NoSuchMethodError: ‘java.util.List org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.getPartConverters()’
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.8.jar:5.3.8]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.8.jar:5.3.8]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-2.5.2.jar:2.5.2]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-2.5.2.jar:2.5.2]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) ~[spring-boot-2.5.2.jar:2.5.2]

Reason
If we take a look at the documentation of AllEncompassingFormHttpMessageConverter class, then it has a method getPartConverters().

But, it was added in spring v5.3 as shown below
resolve NoSuchMethoError-AllEncompassingFormHttpMessageConverter getPartConvertersSo,

  • If you are using a spring version which is lesser than this, or
  • There are multiple spring versions on your classpath

Then you will get this error.
Solution
Upgrade the spring dependency to >=5.3 or check your classpath to remove multiple versions of spring.

This error originates from spring-beans jar which might be added as a direct dependency or as a transitive dependency through spring-web.

Hope the article helped you resolve the error.