Ich habe ein sehr einfaches WAR-Projekt und ich möchte ein Verzeichnis mit dem Namen META-INF
an der Spitze der Klassen Ausgabeordner, wo alle kompilierten Java-Klassen sind. Ich benutze Maven, aber es scheint, dass Maven standardmäßig nichts enthält, das keine Java-Klasse ist. So ignoriert es mein Verzeichnis META-INF
, das an der Spitze des Verzeichnisses src
sitzt. Das Verzeichnis META-INF
enthält eine Datei mit dem Namen persistence.xml
. Gibt es einen schnellen Hinweis darauf, wie man Maven anweist, dieses Verzeichnis und diese Datei in den Ausgabeordner zu stellen?Maven: Einen Ordner META-INF in den Klassenordner aufnehmen
Antwort
Ich werde Ihre Frage indirekt beantworten, indem ich sage, dass wenn Sie bereits den Sprung zu Maven2 gemacht haben, ich definitiv das Archetype-Plugin empfehlen würde. Durch die Verwendung des Archetyps webapp wird sichergestellt, dass Sie eine kanonische Verzeichnisstruktur erhalten. Jeder andere, der sich Ihre Quelle ansieht, weiß sofort, wo alles ist und es wird keine Frage geben, wohin Ihre Dateien gehen.
Im Allgemeinen sollten für ein Java-basiertes Maven-Projekt Nicht-Quelldateien in das Unterverzeichnis src/main/resources
des Projekts verschoben werden. Der Inhalt dieses Verzeichnisses resources
wird in das Ausgabeverzeichnis (standardmäßig target/classes
) während der Phase der Prozessressourcen kopiert.
Bei Projekten Maven IST ist es etwas komplizierter: Es gibt auch das src/main/webapp
Verzeichnis, bei Maven WEB-INF/web.xml
zu finden erwartet. Um Ihre WAR-Datei zu erstellen, muss diese Datei existieren. Andernfalls erhalten Sie eine Fehlermeldung wie diese:
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
Da das WEB-INF
Verzeichnis unter src/main/webapp
vorhanden sein muss, würde ich empfehlen, es wieder definieren, in src/main/resources
zu vermeiden. Obwohl dies absolut korrekt ist und der Inhalt der beiden Verzeichnisse zusammengeführt wird, kann es verwirrend sein, wenn in beiden Dateien eine Datei definiert ist. Der Inhalt von src/main/resources
hat Vorrang, da sie über den Anfang des Inhalts von src/main/webapp
kopiert werden.
Ich liebe dich Mann! – willcodejavaforfood
Dein Beitrag löst meinen Fehler! Vielen Dank! Auf für dich! –
Also meins, gute Job-Kumpel – myro
Geben Sie den unten stehenden Eintrag in pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<!--webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory-->
<packagingExcludes>**/web.xml</packagingExcludes>
</configuration>
</plugin>
dies in pom.xml Put:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
Sie sollten einen Meta-Text hinzufügen – keyser
- 1. Maven: Ressourcen in JAR aufnehmen
- 2. Wie kann ich Klassenordner in Eclipse hinzufügen?
- 3. Wie kann ich einen Ordner in das von Maven erzeugte Glas einfügen (nicht den Inhalt des Ordners, den eigentlichen Ordner)
- 4. Maven packen transitive Abhängigkeiten JAR in einen Ordner
- 5. Infinite Maven 'Ziel/Klassen' Ordner
- 6. Maven Ressource Ordner
- 7. Maven - Entfernen generiert Ordner
- 8. JBoss 4.x nicht src-Ordner in den Krieg
- 9. Den aktuell wiedergegebenen Ton aufnehmen
- 10. einen kontinuierlichen Kontakt aufnehmen Koordinaten
- 11. Sollte ich den Ordner ganze bower_components und node_modules in mein Webprojekt aufnehmen?
- 12. Wie kann ich den Temp-Ordner einer Maschine laufen Maven?
- 13. Maven erstellt nicht den Ordner "/ target/m2e-wtp/web-resources"
- 14. Projekt in Maven migriert, wo config Ordner
- 15. Dateien nach Maven durchsuchen Ordner in Eclipse
- 16. Ordner ausschließen in Maven/Intellij Idee Projekt
- 17. Kann ich einen Maven-Lebenszyklus von einer Arbitrary-Phase wieder aufnehmen?
- 18. Gruppe Ordner in einen anderen Ordner
- 19. Wie fügt man Maven einen weiteren Testquellordner hinzu und kompiliert ihn in einen separaten Ordner?
- 20. Erkennen und einen Sound mit Python aufnehmen
- 21. URL Mehrere Ordner in einen Ordner umschreiben
- 22. Kopieren Sie einen Ordner mit CWD
- 23. Dateiinhalt in Eigenschaft aufnehmen?
- 24. Maven-Site (Maven 3) generiert leeren Site-Ordner
- 25. Wie ändere ich den Kopf in einen anderen Ordner?
- 26. Wie kann ich den `Genindex` in ein Sphinx TOC aufnehmen?
- 27. Unterschied zwischen der Haupt-und der Test-Ordner in Maven
- 28. Erstellen komplette Anwendung Ordner mit Maven
- 29. Warum "Master" in den Befehl `git fetch upstream master` aufnehmen?
- 30. Wie fügt man einen externen Ordner, der mehrere Gläser enthält, in Maven Build für die Webanwendung ein?
Große Frage, danke. –