Hallo,
folgendes Problem. Ich verwende eigentlich Maven in Eclipse (also das Maven Plugin von Eclipse). Wir verwenden außerdem Spring. Eine meiner Testklassen sieht beispielsweise so aus:
Früher ging alles Wunderbar, doch dann hat uns unser Tutor gesagt, das wir es auch mit Maven direkt aus der Konsole starten können müssen.
Seitdem ich in der Konsole "mvn package" eingegeben habe, bekomme ich jetzt bei den ganzen Testfällen immer folgende Fehlermeldung:
"2012-12-30 23:50:36,842 [main]: org.springframework.beans.factory.xml.XmlBeanDefinitionReader - INFO : Loading XML bean definitions from class path resource [vpmBeans-Tests.xml]
2012-12-30 23:50:36,852 [main]: org.springframework.context.support.GenericApplicationContext - INFO : Refreshing org.springframework.context.support.GenericApplicationContext@1dcb677: startup date [Sun Dec 30 23:50:36 CET 2012]; root of context hierarchy
2012-12-30 23:50:36,860 [main]: org.springframework.beans.factory.support.DefaultListableBeanFactory - INFO : Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@b35c53: defining beans [dataSource,categoryDao,userDao,moderatorDao,administratorDao,userService,movie0,movie1,dateFormat,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
2012-12-30 23:50:36,868 [main]: org.springframework.beans.factory.support.DefaultListableBeanFactory - INFO : Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@b35c53: defining beans [dataSource,categoryDao,userDao,moderatorDao,administratorDao,userService,movie0,movie1,dateFormat,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
2012-12-30 23:50:36,868 [main]: org.springframework.test.context.TestContextManager - ERROR: Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@6cd243] to prepare test instance [at.tuwien.group2.vpm.dao.TestUserDAOJDBCImpl@a38527]
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:157)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:288)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:290)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [at.tuwien.group2.vpm.service.UserServiceImpl] for bean with name 'userService' defined in class path resource [vpmBeans-Tests.xml]; nested exception is java.lang.ClassNotFoundException: at.tuwien.group2.vpm.service.UserServiceImpl
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1262)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1331)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:897)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:590)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:103)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1)
at org.springframework.test.context.support.DelegatingSmartContextLoader.loadContext(DelegatingSmartContextLoader.java:228)
at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:124)
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:148)
... 24 more
Caused by: java.lang.ClassNotFoundException: at.tuwien.group2.vpm.service.UserServiceImpl
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:258)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:417)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1283)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1254)
... 35 more"
und das bei jedem Testfall.
Anfangs konnte ich das Programm auch nicht mehr in Eclipse starten, da er meinte, er findet Main.java nicht mehr, da habe ich dann den Src Ordner vom Build Path gelöscht und wieder hinzugefügt. Aber die Testfälle laufen trotzdem so immer noch nicht durch.
Auch auf der Konsole bei "mvn package" bekomme ich lauter ClassNotFound Exceptions bei den Testfällen. Und auch wenn ich java -jar archiv.jar mache bei dem erstellen Archiv, bekomme ich ClassNotFound Exception.
Kann mir bitte jemand helfen und sagen, was ich da falsch gemacht habe? Mein ganzes Projekt ist gerade zerstört und ich versuche schon seit Stunden verzweifelt es wieder zum Laufen zu bekommen, weiß aber nicht einmal, nach was genau ich da googeln soll......
Falls pom.xml oder andere Infos gebraucht werden, bitte einfach Posten, aber ich hab nicht einmal eine Ahnung welche Infos bei dem Problem helfen könnten....
Wäre euch wirklich extrem dankbar, wenn ihr mir da helfen könnt !
edit:
Also soweit ich das verstanden habe, ist "classpath" nicht mehr gesetzt und deshalb wird vpmBeans-Tests.xml nicht mehr gefunden. Aber wie setze ich classpath wieder? Und warum ist es gelöscht worden?
folgendes Problem. Ich verwende eigentlich Maven in Eclipse (also das Maven Plugin von Eclipse). Wir verwenden außerdem Spring. Eine meiner Testklassen sieht beispielsweise so aus:
Java:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:vpmBeans-Tests.xml" })
public class TestUserDAOJDBCImpl {
/**
* the datasource for the test database
*/
@Autowired
protected DataSource datasource;
...
Früher ging alles Wunderbar, doch dann hat uns unser Tutor gesagt, das wir es auch mit Maven direkt aus der Konsole starten können müssen.
Seitdem ich in der Konsole "mvn package" eingegeben habe, bekomme ich jetzt bei den ganzen Testfällen immer folgende Fehlermeldung:
"2012-12-30 23:50:36,842 [main]: org.springframework.beans.factory.xml.XmlBeanDefinitionReader - INFO : Loading XML bean definitions from class path resource [vpmBeans-Tests.xml]
2012-12-30 23:50:36,852 [main]: org.springframework.context.support.GenericApplicationContext - INFO : Refreshing org.springframework.context.support.GenericApplicationContext@1dcb677: startup date [Sun Dec 30 23:50:36 CET 2012]; root of context hierarchy
2012-12-30 23:50:36,860 [main]: org.springframework.beans.factory.support.DefaultListableBeanFactory - INFO : Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@b35c53: defining beans [dataSource,categoryDao,userDao,moderatorDao,administratorDao,userService,movie0,movie1,dateFormat,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
2012-12-30 23:50:36,868 [main]: org.springframework.beans.factory.support.DefaultListableBeanFactory - INFO : Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@b35c53: defining beans [dataSource,categoryDao,userDao,moderatorDao,administratorDao,userService,movie0,movie1,dateFormat,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
2012-12-30 23:50:36,868 [main]: org.springframework.test.context.TestContextManager - ERROR: Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@6cd243] to prepare test instance [at.tuwien.group2.vpm.dao.TestUserDAOJDBCImpl@a38527]
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:157)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:288)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:290)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [at.tuwien.group2.vpm.service.UserServiceImpl] for bean with name 'userService' defined in class path resource [vpmBeans-Tests.xml]; nested exception is java.lang.ClassNotFoundException: at.tuwien.group2.vpm.service.UserServiceImpl
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1262)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1331)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:897)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:590)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:103)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1)
at org.springframework.test.context.support.DelegatingSmartContextLoader.loadContext(DelegatingSmartContextLoader.java:228)
at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:124)
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:148)
... 24 more
Caused by: java.lang.ClassNotFoundException: at.tuwien.group2.vpm.service.UserServiceImpl
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:258)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:417)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1283)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1254)
... 35 more"
und das bei jedem Testfall.
Anfangs konnte ich das Programm auch nicht mehr in Eclipse starten, da er meinte, er findet Main.java nicht mehr, da habe ich dann den Src Ordner vom Build Path gelöscht und wieder hinzugefügt. Aber die Testfälle laufen trotzdem so immer noch nicht durch.
Auch auf der Konsole bei "mvn package" bekomme ich lauter ClassNotFound Exceptions bei den Testfällen. Und auch wenn ich java -jar archiv.jar mache bei dem erstellen Archiv, bekomme ich ClassNotFound Exception.
Kann mir bitte jemand helfen und sagen, was ich da falsch gemacht habe? Mein ganzes Projekt ist gerade zerstört und ich versuche schon seit Stunden verzweifelt es wieder zum Laufen zu bekommen, weiß aber nicht einmal, nach was genau ich da googeln soll......
Falls pom.xml oder andere Infos gebraucht werden, bitte einfach Posten, aber ich hab nicht einmal eine Ahnung welche Infos bei dem Problem helfen könnten....
Wäre euch wirklich extrem dankbar, wenn ihr mir da helfen könnt !
edit:
Also soweit ich das verstanden habe, ist "classpath" nicht mehr gesetzt und deshalb wird vpmBeans-Tests.xml nicht mehr gefunden. Aber wie setze ich classpath wieder? Und warum ist es gelöscht worden?
Zuletzt bearbeitet: