Arvind
Arvind

Reputation: 6474

java/spring- getting NoClassDefFoundError at org.springframework.context.support.AbstractApplicationContext

I am trying to initialise an RMI client for which I have used Spring.

Now, the application's RMI context is stored in file= rmiClientAppContext.xml

The relevant code for using the above file is given below--

 //RMI Client Application Context is started...
     ApplicationContext context = new ClassPathXmlApplicationContext("rmiClientAppContext.xml");

However, when I try and run the program, this is the error I am getting--

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:164)
at org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:90)
at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.<init>(AbstractRefreshableConfigApplicationContext.java:59)
at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:61)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:136)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)

On further investigation of the first line of error message above, I found that

"164 is not a valid line number in org.springframework.context.support.AbstractApplicationContext"

What have i done wrong here? I am using Spring v3.1.3 How do I resolve the above error? Also, exactly which JARs do I have to include for the RMI client? And is there any specific order in which those JARs should be added to Java build path in Eclipse?

Upvotes: 1

Views: 5939

Answers (2)

Ammad
Ammad

Reputation: 4225

Sounds like you are missing very important spring-web jar file. Add this to your pom file to fix this issue.

     <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.2.6.RELEASE</version>
    </dependency>

Upvotes: 0

hoaz
hoaz

Reputation: 10161

In this particular case you should include commons-logging-1.1.1.jar in your client classpath. Spring-Core depends on it.

In general I suggest you to use Maven or similar tool to manage your dependencies.

Upvotes: 2

Related Questions