Ich habe kürzlich ein Upgrade von Eclipse 4.4.2 (Luna) auf 4.5 (Mars) durchgeführt. Mein dynamisches Webprojekt enthält jetzt nicht die Maven-Abhängigkeiten in seiner Deployment-Assembly "Project-> Properties-> Deployment Assembly".
Ich kann sie manuell hinzufügen (mithilfe von "Projekt-> Eigenschaften-> Bereitstellungsassembly-> Hinzufügen-> Java-Erstellungspfadeinträge-> Maven-Abhängigkeiten"), aber jedes Mal, wenn ich "Projekt-> Maven-> Update-Projektkonfiguration" ausführe, wird das angezeigt Maven-Abhängigkeiten werden wieder entfernt.
Beachten Sie, dass ich das Projekt mithilfe des Apache Tomcat-Servers in der Eclipse-IDE ausführen.
Ich habe installiert
Dies sollte nichts mit Eclipse und m2Eclipse zu tun haben und optional zur besseren Unterstützung - m2e-wtp. Außerdem benötigen Sie keine Abhängigkeiten zum Kopieren. Hier sind einige mögliche Gründe:
sie sollten das mvn-Paket aufrufen (oder klicken Sie mit der rechten Maustaste auf> maven> package) und erhalten eine Kriegsdatei - die (im Pom) muss Krieg sein
<Verpackung> Krieg </ Verpackung>
ihre Abhängigkeiten sollten im Standardbereich sein (wenn sie bereitgestellt oder getestet werden, werden sie nicht in das Archiv aufgenommen).
versuchen Sie bitte, das Setup zu reinigen, indem Sie die folgenden Schritte ausführen
Right Click Project -> Maven -> Disable Maven Nature
cmd öffnen, zum Projektverzeichnis gehen, mvn clean install Eclipse:eclipse -Dwtpversion=2.0
ausführen (Dieses Ziel löscht nur .project
, .classpath
und .settings/ files/directories
. Sie können diese Dateien auch wieder entfernen (wieder, während das Projekt geöffnet ist), anstatt mvn Eclipse clean.
auszuführen.
Aktivieren Sie die Maven-Natur erneut .. (Meistens können Sie dies tun, indem Sie im Paket-Explorer-Fenster mit der rechten Maustaste auf das betreffende Projekt klicken und dann 'Configure'-> 'Convert to Maven Project'
auswählen.)
andere Dinge, die Sie ausprobieren können
1. reimport project into some other workspace
2. resintall Eclipse
wenn es Ihr Problem immer noch nicht gelöst hat, müssen Sie wahrscheinlich Jira
zum Eclipse-Team erhöhen.
Ich habe das gleiche Problem auf diese Weise gelöst:
war
.Maven>Update Project
aus.Aktualisiert das Projekt, ohne die Maven-Abhängigkeiten aus der Bereitstellungsassembly zu löschen; Wenn die Maven-Abhängigkeiten fehlen, fügt Maven>Update Project
sie automatisch der Projektbereitstellungs-Assembly hinzu
Was ich getan habe - Ich habe die Standarddatei web.xml durch meine eigene web.xml ersetzt.
In dem Moment, in dem ich meine standardmäßige web.xml-Datei (die beim Erstellen eines neuen Maven-Webprojekts erstellt wird) ersetzt habe, sind die Maven-Abhängigkeiten aus der Bereitstellungsassembly verschwunden. Statt zu ersetzen, habe ich meinen Inhalt in die ursprüngliche/standardmäßige web.xml eingefügt.
Das hat mein Problem gelöst.
Ich hatte vor kurzem dasselbe Problem wie Ihre Beschreibung oben und ich habe es auf diese Weise funktionieren lassen:
Rufen Sie dann das Maven-Updateprojekt auf. Die Maven-Abhängigkeiten werden nicht mehr aus der Sicht der Bereitstellungsassembly verschwinden.
mein Fall war folgender: Ich konnte nicht einmal die "Maven-Abhängigkeiten" für die "Deployment Assembly" auswählen.
Ich könnte es endlich (!) Lösen: Rechtsklick auf Projekt -> Maven -> Arbeitsbereichauflösung aktivieren
passen Sie in "Deployment Assembly" (Projekteigenschaften) erneut auf, ob es funktioniert.
Ich habe ein ähnliches Problem gelöst, indem ich folgende Aktionen für mein Webprojekt ausgeführt habe:
Hinweis: Ich hatte dieses Problem, nachdem ich meinen Java-Projekten Maven Nature hinzugefügt hatte, um sie mit m2e anstelle des vorherigen Eclipse-Plugins von Maven (Legacy) zu verwenden.
Meine Lösung war:
Eclipse> Fenster> Voreinstellungen> Maven> Java EE-Integration> Aktivieren Sie "Java EE-Konfiguration aktivieren".
Ich habe dieses Problem wie folgt gelöst;
kopieren Sie den Inhalt der Datei web.xml und speichern Sie sie zur späteren Verwendung an einem anderen Ort.
löschen Sie die Datei web.xml.
Klicken Sie mit der rechten Maustaste auf das Projekt -> Java EE-Tools -> Bereitstellungsdeskriptor-Stub generieren
schritt 3 generiert die Datei web.xml im Ordner WEB-INF. Anschließend können Sie Ihren gespeicherten Inhalt in Schritt 1 in die neu generierte Datei web.xml einfügen.
Danach werden Ihre Maven-Abhängigkeiten nicht aus der Bereitstellungsassembly entfernt.
In meinem Fall war es eine pluginExecutionFilter
im Abschnitt pluginManagement
in der pom.xml.
Das Entfernen des Abschnitts für org.Apache.maven.plugins:maven-war-plugin
beseitigte das Problem der Maven-Abhängigkeiten, die aus der Bereitstellungsassembly verschwinden würden, und das Problem, dass nach dem manuellen Hinzufügen der Maven-Abhängigkeiten durch die Bereitstellung auch Testabhängigkeiten installiert wurden:
<!-- Remove to eliminate vanishing maven dependencies
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.Apache.maven.plugins
</groupId>
<artifactId>
maven-war-plugin
</artifactId>
<versionRange>
[3.0.0,)
</versionRange>
<goals>
<goal>war</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution> -->
Meine Lösung ist, dass die web.xml-Version nicht kompatibel ist. Ändern Sie sie von 2.4 auf 3.0.