Eclipse: Webbereitstellungsassembly

Eclipse: Problem mit den Abhängigkeiten von Web Deployment Assembly und Maven

Problem

In Eclipse 3.5 oder einer früheren Version müssen Sie die Abhängigkeiten über "Java EE-Modulabhängigkeiten" und die aktualisierten ".classpath" konfigurieren, um die Maven-Abhängigkeiten im richtigen Ordner "/WEB-INF/lib" bereitzustellen. Die Datei sieht folgendermaßen aus:

Datei: ".classpath", von Java EE Module Dependencies…

...

   
     
   

...

Seit Eclipse 3.6 werden die "Java EE-Modulabhängigkeiten" durch "Web Deployment Assembly" ersetzt. Sie können dies jedoch auch über die "Klassenpfadeinträge für referenzierte Projekte" tun. Die Datei ".classpath" wird jedoch als aktualisiert Folgendes:

Datei: ".classpath", von Web Deployment Assembly…

...

   
     
   

...

Leider führt der Standardwert(value=”../”)dazu, dass alle Abhängigkeiten des Maven nicht bereitgestellt werden konnten.

Lösung

Kein großes Problem, Sie können die(value=”../”) immer noch manuell in(value=”/WEB-INF/lib”) ändern, sie werden jedoch jedes Mal überschrieben, wenn Sie einen Maven-Build ausführen. Keine Sorge, es gibt noch zwei Lösungen:

1. WTP-Unterstützung

Ignorieren Sie die Einstellungen für "Klassenpfadeinträge für referenzierte Projekte" und stellen Sie stattdessen sicher, dass der Maven WTP 2.0 unterstützt

mvn eclipse:eclipse -Dwtpversion=2.0

Es wird eine neue Datei mit dem Namen "org.eclipse.wst.common.component" generiert. Im Ordner "settings" finden Sie einen Teil dieser Datei:

Datei: "org.eclipse.wst.common.component" von WTP

...

  uses

...

Mit der WTP-Unterstützung ist es hilfreich, die Maven-Abhängigkeiten korrekt im Ordner "/WEB-INF/lib" bereitzustellen.

2. m2eclipse Plugin

Installieren Siem2eclipse, ein Eclipse-Plugin, um Maven in die Eclipse-IDE zu integrieren. Klicken Sie nach der Installation mit der rechten Maustaste auf den Projektordner, wählen Sie "Maven" -> "Update Project Configuration". Die Datei ".classpath" wird entsprechend aktualisiert. Ein Ausschnitt wird angezeigt

Datei: ".classpath" von m2eclipse

...

  
    
  

...

Es hilft auch, die Maven-Abhängigkeiten korrekt bereitzustellen.