środa, 5 grudnia 2007

kopiowanie plików wynikowych jar, war, ear z maven

Jakiś czas temu wdrożyliśmy w firmie system ciągłej intergracji Continuum. Jedym z projektów obsługiwanych przez system był web service, który pracuje wewnątrz serwera aplikacji. Jako że moduł ten od początku był budowany z wykorzystaniem maven2 nie było problemu z podpięciem go do Continuum, natomiast brakowało nam jednego: aby po zbudowaniu systemu maven skopiował pakiet ear do serwera aplikacji (wdrożył go).
Zrobiliśmy to z wykorzystaniem pluginu antrun wykonującym operację systemu ant (tutaj operację copy):


<plugins>
...
<plugin>
<artifactid>maven-antrun-plugin</artifactid>
<executions>
<execution>
<phase>install</phase>
<configuration>
<tasks>
<copy todir="c:/GCMP/jboss/server/gcmp/deploy">
<fileset dir="${basedir}/target">
<include name="**/*.ear">
</fileset>
</copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>


plugin ten jest uruchamiany w fazie install, ale można w zależności od potrzeb wykonywać go w innych fazach obsługi projektu maven.

1 komentarze:

Jacek Laskowski pisze...

W argumencie todir skorzystałbym dodatkowo z parametru konfigurowanego per stacja robocza, czyli settings.xml. To jest właśnie zaleta modyfikacji settings.xml, gdzie ustawienia specyficzne dla klienta są zapisywane centralnie, a później wystarczy wskazać na nie w pom.xml i..."szafa gra" ;-)

p.s. Trochę mnie zdziwiło, że nie istnieje wtyczka do wdrożeń aplikacji na JBAS. Nie szukałem, ale spodziewałbym się jednej. A może Cargo nie potrafi?!

Jacek
Notatnik Projektanta Java EE