JBoss Maven Plugin


Ostatnio na stronie administracyjnej blog’a przeglądałem, czego ludzie szukają trafiając na moją witrynę. Często pojawiało się hasło “jboss maven plugin”. Ale przecież ja o nim tylko wspomniałem… Indexer Google’a działa wyśmienicie. Przydałoby się jednak napisać coś więcej o tak często wyszukiwanym przez społeczność narzędziu. Jako punkt początkowy przyjmę aplikację stworzoną na końcu post’a EJB3 i Spring.

Dokumentacja jboss-maven-plugin (http://mojo.codehaus.org/jboss-maven-plugin) napisana została bardzo treściwie i zrozumiale. Sam naciąłem się jednak na kilka aspektów w niej nie poruszonych. Konfigurację plugin’u umieściłem w pliku pom.xml projektu EAR. Przedstawia się ona następująco:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>jboss-maven-plugin</artifactId>
  <version>1.4.1</version>
  <configuration>
    <jbossHome>D:\Praca\Certificates\Sun\SCBCD\Tutorial\jboss-5.1.0.GA</jbossHome>
    <serverName>default</serverName>
    <hostName>localhost</hostName>
    <port>8080</port>
    <fileNames>
      <fileName>${basedir}\target\ear-1.0.ear</fileName>
    </fileNames>
  </configuration>
</plugin>

Uwagę należy zwrócić na wartość parametru fileName, gdyż dodałem tam referencję do katalogu głównego, w którym znajduje się plik pom.xml${basedir}. W przeciwnym razie otrzymywałem w logach serwera JBoss poniższy wyjątek:

08:28:45,875 WARN  [MainDeployer] Failed to deploy: file:/D:/Praca/Certificates/Sun/SCBCD/Tutorial/jboss-5.1.0.GA/bin/target/ear-1.0.ear
java.io.FileNotFoundException: ear-1.0.ear doesn't exist. (rootURI: file:/D:/Praca/Certificates/Sun/SCBCD/Tutorial/jboss-5.1.0.GA/bin/target/ear-1.0.ear, file: D:\Praca\Certificates\Sun\SCBCD\Tutorial\jboss-5.1.0.GA\bin\target\ear-1.0.ear)

Na konsoli zaś:

[INFO] Mojo error occurred: Server returned HTTP response code: 500 for URL: http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&name=jboss.system:service%3DMainDeployer&methodName=deploy&argType=java.net.URL&arg0=target%5Cear-1.0.ear

W celu zastosowania goal’i jboss:start i jboss:stop wymagane jest określenie zmiennej jbossHome. Na tak skonfigurowanym środowisku, bez problemu wykonać można z katalogu ear polecenia:

mvn clean package
mvn jboss:start
mvn jboss:deploy
mvn jboss:redeploy
mvn jboss:undeploy
mvn jboss:stop

Polecam głębsze zapoznanie się z dokumentacją i zabawę opcją hard-deploy.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: