Ich habe gerade angefangen, Anwendungen mit Maven zu erstellen. Einer meiner Ansätze besteht darin, eine Multimodul-Webanwendung zu erstellen. Die Arbeit mit Eclipse macht es sehr einfach, diese Art von Anwendung zu erstellen. Bis jetzt funktioniert alles gut. Der Punkt, an dem ich versage, ist die Bereitstellung. Ich verwende Wildfly als meinen Anwendungsserver und die Bereitstellung der Präsentationsebene funktioniert gut. Aber wenn ich vom übergeordneten Projekt bereitstellen möchte, bekomme ich diese Nachricht:
%Vor%Das ist sehr verwirrend. Erfolgt die Bereitstellung nicht aus den zuvor installierten Dateien im Ordner .m2 / repository? Benötige ich ein Zielverzeichnis in meinem Elternordner?
Meine Elternpom-Datei
%Vor%BEARBEITEN : Ich habe es gerade mit Anlegesteg versucht. Funktioniert gut. Warum funktioniert es nicht mit Wildfly?
EDIT2 : Ich verwende das simple-parent-project-Beispiel aus dem Sonatype-Buch
Im übergeordneten POM müssen Sie <skip>true</skip>
zur Konfiguration hinzufügen. Dann setze es auf false
für dein WAR POM.
Übergeordnetes POM
%Vor%WAR POM
%Vor%Ihre Anwendungs-EAR befindet sich wahrscheinlich nicht im übergeordneten Projektbuild-Ordner. Es befindet sich wahrscheinlich im APP-Modul-Build-Projekt. Wenn Sie hier: sehen, gibt es targetDir Standardmäßig wird das Verzeichnis des aktuellen Projekts erstellt. Sie können einen anderen Wert angeben. Und der Dateiname -Parameter zeigt auf den Dateinamen. Es ist standardmäßig $ {project.build.finalName}. $ {Project.packaging} und in Ihrem Fall hat es keine sinnvolle Erweiterung.
Vielleicht möchten Sie etwas wie
ausprobieren %Vor%zu deiner Plugin-Verteidigung. Sie können natürlich den relativen Pfad verwenden. Sie können auch versuchen, Ihr Plugin vom APP-Projekt auszuführen.
Tags und Links maven multi-module pom.xml jboss wildfly