Meu primeiro plugin para Maven2
Sim, eu fiz um plugin para maven2 (como descrito aqui). E realmente, foi beeeeem mais fácil do que imaginei, mesmo tendo que integrar uma API que nunca tinha ouvido falar na vida para copiar arquivos com o protocolo scp (Jsch).
No fim das contas o plugin ficou muito facil de se usar. Evidentemente ele segue a filosofia do “Convention over Configuration”, então, se você tem um projeto Java EE, com EJBs, assumo que estrutura será mais ou menos assim:
MyProject
+------ MyProject-core
+------ MyProject-ear
Para um simples “Hello World” com EJB3, por exemplo. Sendo que seus EJBs estao em MyProject-core, e o seu MyProject-ear é apenas um wrapper para todos os seus artefatos.
Para este exemplo, no pom.xml do MyProject-ear, basta inserir essas linhas dentro de build/plugins:
<plugin> <groupId>uol.maven.plugin</groupId> <artifactId>maven-deployer-plugin</artifactId> <version>1.0-SNAPSHOT</version> <configuration> <remote>false</remote> </configuration> <executions> <execution> <phase>install</phase> <goals> <goal>delivery</goal> </goals> </execution> </executions> </plugin>
Com isso, faremos um delivery no jboss local, utilizando a porta 8080 (padrão do plugin). Para alterar este comportamento, podemos fazer, por exemplo:
<configuration> <serveHost>myServer</serverHost> <serverPort>8080</serverPort> <!-- 8080 é o padrao --> <remote>true</remote> <!-- na verdade true é padrao --> </configuration>
Agora, basta ir na raiz do seu projeto e digitar:
mvn install
e com isso, será feito o delivery do seu ear (não esqueça de que o JBoss tem que estar rodando para funcionar).
Simples né?
Baixe aqui o plugin:Maven Deployer Plugin