Ich benutze Maven, um eine Ear-Datei mit zwei EJBs und ein paar Web-Anwendungen zu erstellen. Ich würde gerne dünne Kriege benutzen, weil wahrscheinlich mehr Kriege folgen werden.Maven: Lass SkinnyWars einige Bibliotheken erhalten
Wie ich verstanden, die Folgenden werden alle * .jar-Dateien entfernen (außer ejb Gläser) aus dem WEB-INF/lib Verzeichnis aller Kriegs Dateien:
<dependencies>
<dependency>
<groupId>my.domain</groupId>
<artifactId>project</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<!-- Scope: Provided for skinnies. -->
<dependency>
<groupId>my.domain</groupId>
<artifactId>project</artifactId>
<version>${project.version}</version>
<type>pom</type>
</dependency>
</dependencies>
[..]
<configuration>
<version>7</version>
<defaultLitBundleDir>lib/</defaultLitBundleDir>
<skinnyWars>true</skinnyWars>
[..]
Das Problem, das ich habe ist, dass offensichtlich Entfernen Sie auch alle webjars. Webjars sind Web-Bibliotheken (CSS, JS, etc.), die im Inneren JAR-Dateien wie folgt verpackt werden:
Mit jedem Servlet 3 kompatibelen Containern, die WebJars, die in dem WEB-INF/lib sind, werden automatisch gemacht verfügbar als statische Ressourcen. Dies funktioniert, weil alles in einem Verzeichnis META-INF/resources in einer JAR in WEB-INF/lib automatisch als statische Ressource ausgesetzt wird.
Quelle: http://www.webjars.org/documentation#servlet3
Ich mag diese Idee. Jetzt, wenn alle Jars auf myear!/Lib/webjar verschoben werden, werden die enthaltenen Dateien nicht mehr belichtet. .
Wenn es eine andere Lösung ist, ich würde gerne sehen, Ihre Eingabe :-(
Ich habe nicht eine Option für skinnyWars zu nicht ausschließen, bestimmte Bibliotheken (: wie org.webjars) gefunden
Nein, es werden nicht alle JARs aus dem WAR entfernt. Nur diejenigen, die als Abhängigkeit im EAR-POM angegeben wurden. Siehe http://maven.apache.org/plugins/maven-ear-plugin/examples/skinny-wars.html – Tunaki
Ahh okay. Ich habe den Krieg nur mit Abhängigkeit wieder aufgenommen: type = pom, wegen des DRY-Prinzips. Wie auch immer, ich fand eine andere Lösung und postete sie in einem Moment. – Ben