Glassfish maven plugin ... New Story :)

W dzisiejszym odcinku przygód małego programisty w krainie brzydkich i wrednych bugów chciałbym przedstawić wam kochane dzieci ... OK, a tak na poważnie :)

Postanowiłem niedawno przestukać się przez specyfikację Java EE 5 na konkretnych przykładach. Jako że obecnie jedyną pełną implementacją standardu jest Glassfish (Jboss nie obsługuje wstrzeliwania zależności w wersji 4.0.5) użyłem referencyjnej jej odmiany z firmy Sun Microsystems o nazwie Sun Java System Application Server Platform Edition 9.0.

Zachęcony sporą ilością przykładów z podstawowego źródła danych jakim jest Google przystąpiłem do zabawy. Po zainstalowaniu kilku dodatkowych zabawek do Eclipsa rozpoczełem testy.
Zabawa szła mi przednio ... do momentu gdy zaczołem brać się do tematu na poważnie.

A było to tak ... zachęcony pierwszymi sukcesami stwierdziłem że czas przenieść zabawy na podłoże maven2 celem usprawnienia procesu developmentu lub developerki (lubie jak młodzi używają to stwierdzenie, to prawi brzmi jak gangsterka) jak kto woli :) No i zaczeły się schody Google pytany o zdanie twierdził namolnie że nie ma pluginu do Glassfisha dla Maven2. Ku mojemu zaskoczeniu okazało się to prawdą. Jedyny przykład użycia Glassfish znajdował się na
stronie Jacka Laskowskiego i było to poprostu wywołanie zadania Anta. Rozwiązanie to nie przypadło mi do gustu ze względu na niezbyt eleganckie rozwiązanie tzn. takie rzeczy jak nazwy pakietów war, ear po prostu były hard kodowane w pliku pom.xml.
Zniechęcony tą sytuacją wziołem pod lupę mechanizm budowy wtyczek dla Maven2. Ku mojemu zdziwieniu mechanizm ten okazał się bardzo prostym i wygodnym procesem. Po 2h ku swojej radości wyszło z pod mojich palców dziecko o nazwie glassfish-maven-plugin. Owy twór który popełniłem w natchnieniu chwili znajduję się na stronie http://code.google.com/p/glassfish-maven-plugin/. Zachęcam wszystkich którzy uważają że przyda im się ten mały (tyci) tool do sciągnięcia z repozytorium najnowszej wersji. Proszę również o monitowanie pojawiających się bugów.
Użycie pluginu jest trywialnie proste, w pliku pom.xml dodajemy następującą deklaracje

<build>
<plugin>
<groupId>pl.sliwa.maven.plugin</groupId>
<artifactId>glassfish-maven-plugin</artifactId>
<configuration>
<glassfishHome>c:/java/servers/sun-glassfish</glassfishHome>
<user>admin</user>
<passwordfile>c:\password.txt</passwordfile>
<domain>domain1</domain>
</configuration>
</plugin>
<build>

Jak widać powyżej należy uzupełnić niezbędne parametry celem prawidłowego funkcjonowania pluginu. Sposób wykorzystania pluginu również jest prosty:

mvn glassfish:start - uruchamia serwer
mvn glassfish:stop - zatrzymuje
mvn glassfish:deploy - instaluje aplikacje na serwerze
mvn glassfish:undeploy - analogicznie usuwa aplikacje z serwera.

Postaram się o stworzenie dokumentacji o której nie omieszkam poinformować na blogu.
Pozdrawiam wszystkie dzieci kodu.

Źródło : http://hot-cup-of-java.blogspot.com/

Comments

Opcje przeglądania komentarzy

Wybierz preferowany sposób wyświetlania komentarzy i klinij na "Zapisz ustawienia", aby aktywować zmiany.

IMHO w powyższym fragmencie

IMHO w powyższym fragmencie XML jest mały błąd. Brakuje pomiędzy i . Powinno być:

  &lt;build&gt;<br>
     &lt;plugins&gt;<br>
     &lt;plugin&gt;<br>
            &lt;groupId&gt;pl.sliwa.maven.plugin&lt;/groupId&gt;<br>
            &lt;artifactId&gt;glassfish-maven-plugin&lt;/artifactId&gt;<br>
            &lt;configuration&gt;<br>
 
    &lt;glassfishHome&gt;c:/java/servers/sun-glassfish&lt;/glassfishHome&gt;<br>
    &lt;user&gt;admin&lt;/user&gt;<br>
    &lt;passwordfile&gt;c:\password.txt&lt;/passwordfile&gt;<br>
    &lt;domain&gt;domain1&lt;/domain&gt;<br>
 
   &lt;/configuration&gt;<br>
       &lt;/plugin&gt;<br>
       &lt;/plugins&gt;<br>
  &lt;/build&gt;

No i zamknięcie build jest źle. Ale plugin zapowiada się bardzo fajnie, zaraz go sprawdzam :)

Pozdrowienia :)

Dominik Piekarczyk
Araneo

Radosław Holewa's picture

maven-flex-plugin

Zainspirowany Twoim wpisem postanowiłem sam stworzyć plugin do Mavena 2 który kompilowałby aplikację Flexową, muszę przyznać że faktycznie pisanie wtyczek to fajna i prosta sprawa.

Dzięki serdeczne za inspirację !!!

Pozdrawiam,
Radosław Holewa