NoClassDefFoundError incompréhensible !
Bonjour à tous !
Je suis entrain de m'autoformer à Spring. J'ai donc créé un projet Eclipse Java simple, installé Spring IDE et ajouté Spring nature au projet. J'ai créé une classe de test que voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
public class Test {
private CompanyDao companyDao;
private ApplicationContext context;
public Test(){
this.context = new ClassPathXmlApplicationContext("beans.xml");
}
public void setCompanyDao(CompanyDao companyDao){
this.companyDao = companyDao;
}
public CompanyDao getCompanyDao(){
return this.companyDao;
}
} |
Mon beans.xml :
Code:
1 2 3 4 5 6 7 8
|
<bean id="CompanyDao" class="jsm.jdbc.dao.impl.CompanyDaoImpl">
</bean>
<bean id="Test" class="jsm.Test">
<property name="companyDao">
<ref local="CompanyDao" />
</property>
</bean> |
Dans mon Main, je fais un new Test() et puis un print en fonction de la valeur de test.getCompanyDao() pour savoir si l'injection a fonctionné.
Problème, à l'exécution dans eclipse, j'ai ceci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Exception in thread "main" java.lang.NoClassDefFoundError: org.springframework.beans.FatalBeanException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:946)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:892)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:562)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at jsm.Test.<init>(Test.java:13)
at jsm.Main.main(Main.java:10) |
Pourtant, tous les jars sont ajoutés au ClassPath, dont org.springframework.beans qui contient bien la classe FatalBeanException...
Alors je ne comprends plus !
Si quelqu'un pouvait m'éclairer... :D