m2e-wtp-Fehler: <Pfad> /target/m2e-wtp/web-resources/META-INF/MANIFEST.MF (Keine solche Datei oder kein solches Verzeichnis)

68

Ich verwende m2e 1.2.0 und m2e-wtp 0.16.0 und gelegentlich schlägt mein Eclipse-Build mit dem Fehler fehl:

<path>/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF (No such file or directory)

Das Problem kann vorübergehend durch a gelöst werden Maven->Update project..., aber der Fehler tritt nach einer Weile wieder auf. Nicht sicher, was genau der Auslöser ist ....

Irgendwelche Vorschläge, wie das Problem dauerhaft behoben werden kann?

[Bearbeiten] Ich habe festgestellt, dass das Problem ausgelöst wird, wenn ich das Projekt extern über die Maven-Befehlszeile direkt erstelle. Dadurch wird die von m2e-wtp generierte Standard-MANIFEST.MF entfernt, die anscheinend erst nach einer Neuerstellung in Eclipse neu generiert wird.

Jelle van Geuns
quelle

Antworten:

107

Eclipse-Versionen früher als Luna

Ich bin mir nicht sicher, ob dies das Beste ist, aber ich habe die hier genannten Anweisungen befolgt , um den automatisch generierten Webressourcenordner zu entfernen. Dies scheint auch das Problem mit dem fehlenden MANIFEST.MF zu beheben:

  • Nur für Ihr Projekt: Klicken Sie mit der rechten Maustaste auf das Projekt> Eigenschaften> Maven> WTP: Aktivieren Sie "Projektspezifische Einstellungen aktivieren" und deaktivieren Sie "Maven Archiver generiert Dateien im Build-Verzeichnis".
  • im gesamten Arbeitsbereich: Fenster> Einstellungen> Maven> WTP: Deaktivieren Sie "Maven Archiver generiert Dateien im Build-Verzeichnis".

Wir generieren unsere Manifest-Einträge tatsächlich als Teil des Maven-War-Plugins, wenn wir das Projekt tatsächlich packen / erstellen möchten, aber ich glaube nicht, dass m2e-wtp dies verwendet. In jedem Fall ist die Manifestdatei für uns in dem Build, den m2e-wtp für die Verwendung in Eclipse erstellt, irrelevant.

Eclipse Luna und später

Für Eclipse Luna musst du gehen:

Einstellungen> Maven> Java EE-Integration und deaktivieren Sie "Maven Archiver generiert Dateien im Build-Verzeichnis".

Eclipse Luna hat den Pfad in den Projekteigenschaften und im WTP-Abschnitt nicht

cosjav
quelle
Ich habe seitdem m2e-wtp entfernt, was das Problem standardmäßig für mich gelöst hat. Daher kann ich diese Antwort nicht einfach überprüfen, aber sie scheint auf jeden Fall eine gute Option zu sein
Jelle van Geuns,
25
Für Eclipse Luna müssen Sie gehen: Einstellungen> Maven> Java EE-Integration und das Kontrollkästchen "Maven Archiver generiert Dateien im Build-Verzeichnis" deaktivieren. Eclipse Luna hat den Pfad in den Projekteigenschaften und im WTP-Abschnitt nicht.
Vitor Braga
1
Die Antwort ist veraltet - siehe @ VitorBragas Kommentar
OddDev
Für mich konnte ich es beheben, indem ich das Kontrollkästchen - Abhängigkeiten von Arbeitsbereichsprojekten
auflösen
Nachdem ich Eclipse Neon aktiviert habe, aktiviert (aktiviert) Maven Archiver Dateien im Build-Verzeichnis
Eeadev
33

Diese Lösung funktioniert für mich. Klicken Sie mit der rechten Maustaste auf Projekt -> Eigenschaften -> Maven -> Java EE-Integration -> Aktivieren Sie die Option Projektspezifische Einstellungen aktivieren und deaktivieren Sie, dass der Maven-Archivierer Dateien generiert

VijayaKumar Thangavel
quelle
28

Versuchen Sie, Ihr Projekt auszuwählen und es über das Menü zu bereinigen:

Projekt> Reinigen

Aktualisieren Sie dann Ihre pom.xml. Das hat bei mir funktioniert.

Mehdi
quelle
6

Versuchen Sie Eclipse -> Projekt -> Reinigen

Klicken Sie dann mit der rechten Maustaste auf Ihr Projekt -> Team -> Projekt teilen -> SVN -> Wählen Sie Ihren SVN und klicken Sie auf OK

Alles sollte gelöst sein

Senthil Kumar
quelle
4

Klicken Sie mit der rechten Maustaste auf Ihr Projekt, gehen Sie zu Eigenschaften und dann zu Projektfacetten, gehen Sie jetzt zur Registerkarte Laufzeit auf der rechten Seite und wählen Sie den Server aus und klicken Sie auf Übernehmen. Die Fehlermeldung ist verschwunden.

sonnig
quelle
3

Überprüfen Sie in Ihrer pom.xml-Datei Folgendes:

<build>
<finalName>Write a file name which is Your Maven Buid Name</finalName>
</build>
Vivek Gondliya
quelle
3
  1. Gehen Sie zu pom.xml
  2. Strg + a dann Strg + x dann Strg + s dann Strg + v dann Strg + s
  3. Klicken Sie mit der rechten Maustaste auf Projekt. Maven -> Projekt aktualisieren

Das wurde für mich gelöst.

Vishal Pathode
quelle
2

manifest.mf wird zerstört, wenn wir versuchen, Maven Build mit MVN Clean Install durchzuführen . Wenn wir die Datei manifest.mf nicht zerstören möchten, geben Sie einfach den Befehl mvn install an der Eingabeaufforderung ein.

Und wenn wir die Datei manifest.mf verpasst haben, können wir sie durch Deaktivieren und Aktivieren der Option "Maven-Archivierer generiert Dateien im Build-Verzeichnis" in der Integration von maven - JAVA EE generieren, wie Sie sagten.

Nagappan
quelle
2

Alle Projekte bereinigen wird dieses Problem lösen.

Dev Kashyap
quelle
2

Klicken Sie mit der rechten Maustaste auf Projekt> Eigenschaften> Maven> Projekt aktualisieren> wählen Sie die letzten drei Optionen aus> klicken Sie auf OK

Getan. Es hat bei mir funktioniert

Shubham Gupta
quelle
0

Das Ersetzen von Manen durch eine externe Installation hat das Problem für mich gelöst.
Fenster -> Einstellungen -> [Such-Maven im Suchfeld] -> Installation Fügen Sie eine vollständige externe Maven-Installation hinzu und aktivieren Sie das entsprechende Kontrollkästchen. anwenden und neu starten.

Ozma
quelle
0

Das Bereinigen des Projekts hat nicht funktioniert. Es wurden 2 externe Jars zum Build-Pfad hinzugefügt, die entfernt und in pom.xml verschoben wurden. Das Problem wurde für mich wirklich behoben.

Mightian
quelle
0

Ich benutze Eclipse Luna und finde es nutzlos, projektspezifische Einstellungen zu aktivieren. Schließlich fand ich die Konfigurationsdatei org.eclipse.m2e.wtp.prefs in den Projekteinstellungen und änderte die Konfiguration "org.eclipse.m2e.wtp.enableM2eWtp = true". Es funktioniert, nachdem Maven das Projekt erstellt hat. Hoffe, dies ist Hilfe für Menschen trifft den gleichen Fall wie ich. : D.

user3655479
quelle
0

Für Marte Eclipse:

Gehen Sie zu: Fenster> Einstellungen> Marven> Java EE-Integration

Deaktivieren Sie Marven Archiver, um Dateien im Build-Verzeichnis zu generieren.

Es funktioniert

Ricardo
quelle
0

In meinem Fall (Eclipse Neon) habe ich aktiviert, dass Maven Archiver Dateien im Build-Verzeichnis generiert

eeadev
quelle
-1

Das m2e-wtp-Plugin generiert möglicherweise eine fast leere MANIFEST.MF im Ordner / target / m2e-wtp / web-resources / META-INF, unabhängig davon, wo Sie die echte MANIFEST.MF platzieren. Schauen Sie sich die Administratorkonsole von Virgo an. Durchsuchen Sie einfach die Kategorie "Bundles". Sie werden sehen, welche Pakete WIRKLICH importiert und exportiert werden.

Sie können also die Datei MANIFEST.MF in das Verzeichnis / $ VIRGO_BASE / stage / $ BUNDLE_WEBAPP / META-INF kopieren und in der Serveransicht von Eclipse auf "Neu bereitstellen" klicken.

Shijumax
quelle
4
Das Problem scheint das Gegenteil zu sein: Ich habe keine MANIFEST.MF-Datei und m2e-wtp sucht nach einer. Nach Maven->Update project...einer Standardeinstellung wird eine leere MANIFEST.MF generiert, die jedoch in bestimmten Fällen irgendwie entfernt und nicht zuverlässig neu generiert wird. Ich bin mir nicht sicher, was Jungfrau ist, aber ich benutze das nicht.
Jelle van Geuns
-2

Unmittelbar unterhalb der obigen Zeile erhielt ich eine zusätzliche Information mit der Aufschrift "Nicht synchron". Ich habe nur "mein Projekt" und Bingo sauber ausgeführt. Es hat bei mir funktioniert.

Mitesh Keswani
quelle