Frage

Ich habe eine Maven-Modul mit dem Namen views eine .jsp Datei \ Calendar.jsp enthält. Ich habe einen anderen maven Modul namens core, die auf views Modul abhängig ist. Die Verpackung Art von views Modul ist Glas während des von core Modul ist Krieg.

Ich habe overlay konfiguriert, um die .jsp Dateien von views.jar zu WEB-INF \ Ansichten Ordner (von core.war) zu kopieren.

<configuration>
        <overlays>
            <overlay>
                <groupId>org.opensource</groupId>
                <artifactId>views</artifactId>
                <type>jar</type>
                <includes>
                    <include>**/*.jsp</include>
                </includes>
                <targetPath>WEB-INF/views</targetPath>
            </overlay>
        </overlays>
</configuration>

Die overlay Konfiguration funktioniert gut und es hat Kopieren .jsp Dateien von views.jar zu WEB-INF \ Ansichten Ordner (von core.war).

Aber das Problem ist, dass es nicht diese .jsp Dateien aus dem views.jar nicht entfernt. Also, mein core.war endet mit doppelten .jsp-Dateien (eine Kopie in WEB-INF / Ordner Sichten und die anderen Kopie in views.jar) nach oben. drastisch Als Ergebnis erhöht sich die Größe des core.war. (Die .jsp-Dateien, die in views.jar sind überflüssig, weil sie nicht während der Ausführung von Webapp verwendet werden.)

Also, die Frage ist: - So konfigurieren Sie overlay zu tun Cut + Paste Operation anstelle von Kopieren + Betrieb einfügen. Ist dies nicht overlay verwenden getan werden kann, gibt es eine andere (maven friendly) Lösung?

War es hilfreich?

Lösung

mag Maven zu vermeiden, mit abhängigen Artefakte Manipulationen, die bereits in den lokalen oder Remote-Repositories installiert wurden. Ich bin sicher, das ist der Fall, dass Ihre hier gehen zu finden, mit jeder Lösung aus der Overlay-Funktionalität für Ihren Krieg Modul.

Es gibt einen anderen Weg, dies zu lösen, und das ist einen Schritt zurück und Blick auf Ihre Ansichten wieder Modul zu nehmen. Was Sie wirklich tun müssen, ist erstellen zwei Gläser mit den Ansichten Modul, eine, die alle Klassen enthält, die andere nur die JSP-Dateien enthalten und dass Artefakt mit einem Klassifizierer zu speichern. Sie können die Montage Plugin um dies zu erreichen zu verwenden. Im Kernmodul, nehmen Sie die JSP Artefakt mit dem Klassifikator und dann verwenden, das Modul des Krieges Schöpfung zu überlagern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top