
ClassNotFoundException org.springframework.web.context.ContextLoaderList
When working on spring framework, you might get this error specially on eclipse. I am assuming you are working on maven and eclipse environment.
The ClassNotFound
exception is a bit self explanatory that eclipse could not find the mentioned class ContextLoaderList
The web.xml
file for the spring configuration might look like
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/application-context.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
With this, you might have similar file like application-context
in the WEB-INF path
How to fix ClassNotFoundException for ContextLoaderList
The problem will during deployment. It is not basically compile time error. It is rather runtime error.
So, we have to make sure the jar responsible for this class is available in the classpath that eclipse is reading.
Pom dependency check
Make sure you have the same/similar configuration as the one listed below on your pom file.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
You can have the right version for your spring in the parameter section or you can just replace it with the current version you have.
Using Deployment Assembly fix in eclipse
As we know, it is a deployment time problem, hence we have to tell the assembly where it can get its dependencies.
- Right click on the project
- Go to/search for Deployment Assembly
- Click on Add
- Select on Java Build path entries
- Select all the maven dependencies
- Finish
- Clean and build the project
Either of the above methods should fix the problem