/ / Maven webapp - Java-Ressourcen aus einem Webapparat ausschließen - Webanwendungen, Maven, Ressourcen, Glas, Krieg

Maven webapp - Schließen Sie Java-Ressourcen von jar ab, das von einer Webanwendung stammt - web-applications, maven, resources, jar, war

Ich habe ein ganz spezifisches Problem. Ich habe eine Webapp erstellt und möchte zusätzlich zum Web-Krieg ein Jar-Build der Klassen haben. Kein Problem, ich habe das gemacht von:

    <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>

Damit auch die Ressourcen aussrc / main / resources gehen in das Glas. Da es sich jedoch nur um Ressourcen für diese Webanwendung handelt, möchte ich sie nicht im Jar. Ich könnte sie in den Ordner webapp src verschieben, aber ich muss nach der Eigenschaftendatei filtern, daher muss es sich um einen Ressourcenordner handeln Wird von einem Kriegs- / Glas-Build eingeschlossen.

<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>

Ich habe versucht, sie durch die Konfiguration des Maven-Jar-Plugins auszuschließen:

  <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<excludes>
<exclude>**properties</exclude>
</excludes>
</configuration>
</plugin>

Funktioniert gut für ein einzelnes Glas, das von jar gebaut wird: jar, aber leider nicht für das von der Installationsphase erstellte Glas.

Gibt es eine Möglichkeit, diese Konfigurationen auf das Maven-War-Plugin anzuwenden?

Ich weiß, ich könnte die Konfiguration erweitern, indem Sie Ausführungen zum Erstellen eines Jars hinzufügen, lokal installieren und für die Bereitstellung in einem Remote-Repository bereitstellen, aber das ist ein bisschen durcheinander.

Jede Hilfe ist willkommen.

Antworten:

2 für die Antwort № 1

Eine Möglichkeit, dies zu tun, wäre das Verschieben von JavaQuellen zu einem separaten Projekt, das Sie dann als Abhängigkeit in das WAR-Projekt aufnehmen. Auf diese Weise haben Sie die Kontrolle darüber, was in der JAR-Datei gespeichert wird, und Sie können die anderen Dateien im WAR-Projekt behalten, Filter anwenden usw.

Ich habe diese Trennfunktion in gefundenFeinkörnige Projekte sind oft die beste Lösung, um Probleme zu lösen, anstatt mehrere Plugins mit komplexer Konfiguration für das gleiche Ziel einzurichten. Wenn es ein komplexes Setup erfordert, ist es wahrscheinlich der falsche Weg. Versuchen Sie es einfach zu halten :-)