webentwicklung-frage-antwort-db.com.de

Fehlende Maven-Abhängigkeiten von der Bereitstellungsassembly

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 

  • m2e 1.6.0.20150526-2032
  • m2e-wtp 1.2.0.20150602-1740
23
Behnil

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).

  • wenn Sie das Projekt als dynamisches Webprojekt auf einem Server in Eclipse ausführen, sollten Sie die Projekteigenschaften öffnen (Rechtsklick> Eigenschaften) und "Deployment Assembly" auswählen. Dort klicken Sie auf "Hinzufügen", wählen Sie "Build-Pfad-Einträge" und wählen Sie "Maven-Abhängigkeiten". Dadurch wird WTP angewiesen, die Maven-Abhängigkeiten an das Serververzeichnis zu senden.
12
Jebil

versuchen Sie bitte, das Setup zu reinigen, indem Sie die folgenden Schritte ausführen

  1. maven-Natur der Anwendung deaktivieren: 

Right Click Project -> Maven -> Disable Maven Nature

  1. 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.

  2. 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.

3
Bhupi

Ich habe das gleiche Problem auf diese Weise gelöst:

  1. Öffnen Sie pom.xml und machen Sie die Verpackung war.
  2. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie 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

2
Hatem Badawi

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.

1
Mukul Bansal

Ich hatte vor kurzem dasselbe Problem wie Ihre Beschreibung oben und ich habe es auf diese Weise funktionieren lassen:

  1. klicken Sie mit der rechten Maustaste auf Projekt> Maven> Maven-Natur deaktivieren
  2. klicken Sie mit der rechten Maustaste auf Projekt> Konfigurieren> In Maven-Projekt konvertieren

Rufen Sie dann das Maven-Updateprojekt auf. Die Maven-Abhängigkeiten werden nicht mehr aus der Sicht der Bereitstellungsassembly verschwinden.

1
Patrick He

Klicken Sie mit der rechten Maustaste auf Projekt> Eigenschaften> Maven
Deaktivieren und Anwenden von "Abhängigkeiten von Wrokspace-Projekten auflösen". Aktivieren Sie anschließend "Abhängigkeiten von Wrokspace-Projekten auflösen" und klicken Sie auf "OK".

enter image description here

0
Fulvius

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.

0

Ich habe ein ähnliches Problem gelöst, indem ich folgende Aktionen für mein Webprojekt ausgeführt habe:

  • maven Natur entfernen 
  • bereinigung aller von m2e erzeugten Dateien
  • hinzufügen von Maven Natur
  • alt + F5

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.

0
David SCHERRER

Meine Lösung war:

Eclipse> Fenster> Voreinstellungen> Maven> Java EE-Integration> Aktivieren Sie "Java EE-Konfiguration aktivieren".

0
roger

Ich habe dieses Problem wie folgt gelöst;

  1. kopieren Sie den Inhalt der Datei web.xml und speichern Sie sie zur späteren Verwendung an einem anderen Ort.

  2. löschen Sie die Datei web.xml.

  3. 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.

0
Elias

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> -->
0
Alex R

Meine Lösung ist, dass die web.xml-Version nicht kompatibel ist. Ändern Sie sie von 2.4 auf 3.0.

0
Eric