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

No TweetBacks yet. (Be the first to Tweet this post)