Ich bin ein Web-Anwendungsprojekt mit Maven bauen, und die Verpackung ist auf "Krieg" eingestellt. Ich benutze auch YUI Kompressor-Plugin, um Javascript-Codes im Webapp-Verzeichnis zu komprimieren. Ich habe den YUI Kompressor wie folgt aufgebaut:Dateien wurden beim Erstellen eines Krieges in Maven-Projekt überschrieben
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.3.0</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>**/ext-2.0/**/*.js</exclude>
<exclude>**/lang/*.js</exclude>
<exclude>**/javascripts/flot/*.js</exclude>
<exclude>**/javascripts/jqplot/*.js</exclude>
</excludes>
<nosuffix>true</nosuffix>
<force>true</force>
<jswarn>false</jswarn>
</configuration>
</plugin>
Wenn ich tun: mvn Prozess-Ressourcen, src/main/webapp wird gezielt erhalten kopiert/Webapp-1.0/Verzeichnis und javacripts komprimiert werden. Wenn ich jedoch mvn install ausführe, werden alle komprimierten Javascripts überschrieben, anscheinend kopiert der Verpackungsprozess den Inhalt von main/webapp einmal, bevor er die WAR-Datei erstellt.
Wie kann ich das umgehen?
es schon zu spät sein werde, ich habe sogar versucht Paket , die erstellte WAR-Datei enthält keine komprimierten JavaScript-Codes. –
Was ist, wenn Sie eine Phase-Direktive zu Ihrem War-Plugin hinzufügen und es auf 'package' oder' install' setzen, während Sie die Phase für Ihre Komprimierung auf 'prepare-package' einstellen? Grundsätzlich sicherstellen, dass die Erstellung des Krieges nach dem Komprimieren der * .js-Dateien passiert? – nemo