IntelliJ – Maven-Projekt baut korrekt, aber startet nicht mit seltsamen Fehlern (Bean not found)

Für die Entwicklung von Java habe ich mir nach einigen seltsamen Erlebnissen mit Eclipse von JetBrains IntelliJ IDEA gekauft und verwende es seitdem.

Ich arbeite an einem stark auf Spring basierten Java Projekt. Dabei hatte ich zuletzt ein seltsames Problem, welches ich hier beschreiben möchte.

 

Ich habe das Projekt aus SVN frisch ausgecheckt und die POM.xml des Parent-Projekts als Projekt in IntelliJ eingelesen. Java und Tomcat im Projekt eingerichtet, das Projekt kompiliert und gestartet.

Das Projekt ließ sich auch problemlos kompilieren. Nach dem Start allerdings kam eine seltsame Fehlermeldung: Bean not found. Spring konnte eine Bean nicht laden. Der Code dieser Bean war aber ausgecheckt und lies sich kompilieren. Im Target-Verzeichnis war auch die JAR zu finden, in der die Bean enthalten war.

Zunächst habe ich versucht, die Ursache in meinem (vielfach verwendeten) Tomcat zu finden. Ich habe den Tomcat sauber gemacht (work / temp / webapps) und das Projekt neu gebaut.

Der Fehler war aber weiterhin vorhanden. Nach einigem tüfteln bin ich dann (zusammen mit einem Kollegen) auf die Ursache gestoßen.

Ursache für das Problem war, dass Maven nicht korrekt eingerichtet war. Das ist aber erst aufgefallen, als ich in IntelliJ versucht habe, einen maven clean durchzuführen. Da kam dann die Meldung „M2_HOME not set correctly“.
Zuvor, bei einem „Reimport All Maven Projects“ kam keine Fehlermeldung und IDEA hat so getan als funktionierte alles. Tatsächlich wurden aber alte Klassen verwendet, woher auch immer die kamen.

Nachdem ich IntelliJ ordentlich mitgeteilt habe, wo es Maven finden kann, funktionierte auch der Aufruf von „Reimport All Maven Projects“ und das Projekt lies sich nciht nur bauen, sondern auch starten.

Hier hätte ich mir eine bessere Unterstützung von IDEA gewünscht. Aber jetzt weiß ich ja, woran es liegt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.