# Maven2 und TestNG Eclipse Plugin



## byte (13. Jul 2009)

Hi,

nächstes Problem. 

Ich kann meine Unittests (TestNG) nun problemlos mit dem Maven Goal test starten. Allerdings finde ich es etwas unschön, dass ich das Result nur in der Konsole sehe. Schöner wäre es, wenn ich die TestNG View aus dem TestNG Eclipse Plugin damit verbinden könnte, so dass ich dort direkt sehe, was grün oder rot ist.

Wenn ich nun aber versuche, eine TestNG Run Configuration (also auf herkömmlichen Wege ohne Maven) zu starten, kriege ich eine Exception:


```
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.hibernate.cfg.AnnotationConfiguration]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:111)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:74)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newConfiguration(LocalSessionFactoryBean.java:772)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:517)
	at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)
	... 58 more
Caused by: java.lang.NoClassDefFoundError
	at org.hibernate.cfg.AnnotationConfiguration.reset(AnnotationConfiguration.java:248)
	at org.hibernate.cfg.Configuration.<init>(Configuration.java:193)
	at org.hibernate.cfg.Configuration.<init>(Configuration.java:197)
	at org.hibernate.cfg.AnnotationConfiguration.<init>(AnnotationConfiguration.java:103)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:96)
	... 64 more
```

Er findet also offenbar eine Klasse aus hibernate-annotations nicht. Allerdings ist die entsprechende Abhängigkeit in Maven gepflegt (Scope compile).

Woran könnte das liegen, dass er diese nicht findet? Spring findet er ja lustigerweise, also kanns ja nicht generell daran liegen, dass er alle Maven Dependencies nicht findet.

Google spuckt nix brauchbares aus. Weiss jemand weiter?

Grüße byto


----------



## byte (13. Jul 2009)

Problem gelöst. Es lag an einem Versionskonflikt bei slf4j.


----------



## maki (13. Jul 2009)

Bloss nicht aufgeben byto, M2 kann gar schön nerven am Anfang, aber wenn man den Dreh mal raus hat, kommt es nur noch selten zu bösen Überraschungen.

Hast du dir mal die Archteypes angesehen?
Da gibt es welche für Spring + Hibernate fertig, die kannst du als Beispiel verwenden


----------



## byte (13. Jul 2009)

Joa, hat mich schon einige Nerven gekostet, aber jetzt läufts eigentlich ganz gut. Ich kann das Projekt wie zuvor mit WTP internem Tomcat starten und Debuggen. Ich kann wie zuvor mit dem Test NG Plugin testen und Debuggen.
Nur irgendwie saugt er die Sourcen zu den Dependencies noch nicht mit, obwohl ich den Haken in den Einstellungen von m2 gemacht hab. :bahnhof:


----------



## maki (13. Jul 2009)

So mach ich das immer:
Rechtsklick aufs Projekt -> m2 -> download sources

Projekte nach Maven2 konvertieren ist nicht unbedingt angenehm, ehrlich gesagt zum abgewöhnen 
Bei neuen Projekten ist das etwas ganz anderes


----------

