2009-08-08 15 views
5

Próbuję automatycznie skompresować zarówno CSS i JS przy użyciu maven i this plugin. Chcę skompresować podczas wojny cel jest wykonywany, ale ja nie dowiedzieć jak:kompresja maven yui na wojnie: wojna

<build> 
    <finalName>${artifactId}-${version}-production</finalName> 
    <plugins> 
    <plugin> 
     <groupId>net.sf.alchim</groupId> 
     <artifactId>yuicompressor-maven-plugin</artifactId> 
     <executions> 
     <execution> 
      <configuration> 
      <gzip>true</gzip> 
      <nosuffix>true</nosuffix> 
      </configuration> 
      <goals> 
      <goal>compress</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 

Odpowiedz

3

dla niektórych dziwne powodu war:war nie wywołuje wtyczkę w fazie process-resources: Właśnie dodane menu niestandardowego na nb 6.7 że najpierw zadzwonić compile, następnie war:war

8

Trzeba powiązać wykonanie do fazy tak zostanie on wykonany po uruchomieniu opakowanie wojny. Są to available phases, do których możesz się przywiązać w celu pakowania w czasie wojny.

<plugin> 
    <groupId>net.sf.alchim</groupId> 
    <artifactId>yuicompressor-maven-plugin</artifactId> 
    <executions> 
    <execution> 
     <id>compress</id> 
     <phase>process-resources</phase> 
     ...<!--rest of config is fine--> 

Aktualizacja: Czy pliki js.gz nie są generowane lub nie są włączone do wojny?

Jedna dodatkowa rzecz do sprawdzenia jeśli nadal nie widząc zawartość w wojnie jest to, że środki powinny być pod src/main/zasobów nie src/main/webapp. Wtyczka yuicompressor przetworzy pliki js w src/main/webapp, ale nie zostaną one uwzględnione w ostatniej wojnie.

Aktualizacja 2: ponowne przeczytanie pytania po zobaczeniu odpowiedzi, błędnie odczytałem cel, w którym działałeś. Aby uniknąć uruchomiony dwa cele można wykonać jedną z nich:

  1. Spróbuj zamiast biegać cel wojny, uruchom zainstalować lub pakiet będzie to wywołać standardowy cykl, a plugin yuicompressor zostanie wywołany w faza proces-zasoby.
  2. Alternatywnie można zmienić fazę, do której gol yuicompressor jest przypisany w powyższym przykładzie do , pakiet, który aktywuje się, gdy uruchomisz wojnę: cel wojenny.
+0

zrobić, ale to nie działa pod maven 2.2.0 ani maven 2.1.0 – dfa

+0

to działało dobrze na moim projekcie testowym, skompresowane pliki są wyprowadzane do celu/klas –

+0

poprawione dzięki i tak :) – dfa