3 Stimmen

Auflösung des Maven-Arbeitsbereichs mit fehlenden Jars für lokale Tomcat-Tests

Ich habe ein mavenisiertes Projekt mit Abhängigkeiten zu 4 anderen mavenisierten Projekten, an denen mein Team derzeit arbeitet. Wir haben die "Arbeitsbereichsauflösung" aktiviert.

Wenn ich in Tomcat veröffentliche, sind Jars für die 4 Projekte nicht verfügbar, so dass ich alle Arten von NoClassDefFoundError-Ausnahmen sehe. Ich sehe keine Probleme mit JUnit-Tests oder Paketierung. (Ich führe das Paketziel aus und die resultierende War-Datei enthält die SNAPSHOT-Jars, die ich erwarte).

Ich sehe viele Leute, die für die Verwendung von Workspace Resolution plädieren, aber wenn wir in Tomcat testen müssen, sollten wir dies deaktivieren? Oder was könnte ich sonst noch übersehen?

Wir verwenden Eclipse Helios, das m2eclipse Plugin, Maven 3.0.3. Ich habe sogar m2extras installiert, um zu sehen, ob das hilft, aber ich konnte keinen Unterschied feststellen.

Danke

0 Stimmen

Als Unternehmen haben wir beschlossen, die Arbeitsbereichsauflösung zu deaktivieren.

0voto

Torsten Punkte 6035

Sie kann Wenn Sie mit einigen manuellen Aktualisierungen leben können, nachdem Sie m2eclipse goals zum Bauen verwendet haben, können Sie dieses Setup zum Laufen bringen (wir haben hier mit der gleichen Toolchain und dem gleichen Setup gearbeitet).

Das Problem dabei ist, dass nicht alle externen Änderungen, die über m2eclipse-Builds an Workspace-Projekten vorgenommen werden, korrekt mit der im Tomcat installierten Webanwendung synchronisiert werden.

Wenn Sie also NoClassDefFoundError-Ausnahmen nach der Erstellung über m2eclipse erleben, sollte das Folgende helfen (nicht alle sind immer notwendig):

  • Führen Sie ein Project/Clean für Ihre Maven-Projekte durch
  • Führen Sie eine Aktualisierung (F5) Ihrer Maven-Projekte durch
  • Bereinigen Sie die bereitgestellte Webanwendung (Server-Kontextmenü)

Ja, es ist umständlich, aber man kann damit leben.

0voto

pentike Punkte 418
  1. Entfernen Sie das abhängige Projekt aus dem Arbeitsbereich.
  2. Löschen Sie das Verzeichnis .settings und die .project-Dateien.
  3. Importieren Sie das Projekt erneut.
  4. Aktualisieren Sie die Maven-Abhängigkeiten in allen Projekten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X