1) O documento fornece instruções para configurar um ambiente de desenvolvimento Java EE utilizando Eclipse, JBoss Tools, Maven e JBoss AS 5;
2) Inclui etapas como criar um projeto Maven usando um archetype Seam, configurar plugins Maven e JBoss, e realizar deploy no servidor de aplicação;
3) Também explica como habilitar hot deployment utilizando a ferramenta FileSync para sincronizar automaticamente alterações nos códigos-fonte.
1. Tutorial – Jboss Seam + Eclipse + Jboss Tools + Maven rodando no Jboss AS 5
Requisitos necessários:
→ Eclipse 3.5 (Galileo)
→ Jboss AS (Application Server 5.1)
Como foi criado
Baseando-se no arquétipo Maven disponível em http://blog.akquinet.de/2009/09/14/getting-started-
with-jboss-seam-and-maven-in-10-seconds/ , foi criado um projeto utilizando Jboss AS + Jboss
Seam + Maven + Módulo EJB. Acredite, seria infinitamente complexo criar um desses do zero.
A seqüência a seguir retrata a criação de um projeto baseado no arquétipo acima citado:
1. Abra o Eclipse
2. Clique em File → New → Project
3. Selecione Maven → Maven Project:
4. Clique em Next.
2. 5. Clique em Next novamente.
6. No campo “Filter”, digite Seam:
3. 7. Selecione a opção de de.akquinet.jbosscc e clique em Next.
8. Complete os campos de Group Id e Artifact Id de acordo com o nome de seu projeto.
ATENÇÃO – USE A VERSÃO 2.2.0 GA do SEAM!!!!!!!!!
4. 9. Clique em Finish. Pronto, seu projeto está ok!
10. O próximo passo é acrescentar o Mojo, plugin que faz a interface entre o Maven e o Jboss
AS. No pom do projeto principal, insira
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jboss-maven-plugin</artifactId>
<version>1.4.1</version>
<configuration>
<jbossHome>D:JBossjboss-5.1.0.GAjboss-
5.1.0.GA</jbossHome>
<serverName>$
{jboss.server.name}</serverName>
<hostName>${jboss.host.name}</hostName>
<port>${jboss.port}</port>
<fileNames>
<fileName>${project.build.directory}$
{project.build.finalName}.${project.packaging}
</fileName>
</fileNames>
</configuration>
</plugin>
5. </plugins>
</pluginManagement>
</build>
O plugin acima deve ser colocado como dependência do Maven. Você deve configurar o profile
atual com as configurações do Mojo também, para que tudo funcione corretamente.
<profiles>
<profile>
<id>development</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<jboss.home>D:JBossjboss-5.1.0.GAjboss-
5.1.0.GA</jboss.home>
<jboss.server.name>default</jboss.server.name>
<jboss.host.name>localhost</jboss.host.name>
<jboss.port>8080</jboss.port>
</profile>
</profiles>
Mais sobre o Mojo:
http://mojo.codehaus.org/jboss-maven-plugin/examples/deploy-undeploy-examples.html
http://docs.codehaus.org/display/MAVENUSER/JBoss+Maven+Plugin
https://docs.sonatype.org/display/M2ECLIPSE/Using+Maven+with+application+servers#UsingMa
venwithapplicationservers-JBoss
Os três links acima provavelmente contêm quase tudo que você gostaria ou precisaria saber sobre o
Mojo.
ATENÇÃO – Esse documento relata apenas a criação de um projeto. Vide a seção Checkout para
maiores informações de como realizar o checkout simples de um projeto.
Configurando o Eclipse – Tudo que você precisa instalar
1. - Jboss AS → Digite ctrl+3, digite Servers. A aba servers deve abrir para você na parte
inferior da tela. Com o botão direito, clique em New → Server. Adicione o Jboss AS 5.1 e indique o
caminho correto do path:
6. 2. Jboss Tools → NÃO INSTALE PELO INSTALLER DO ECLIPSE (não instale pela net).
*BAIXE* o .jar do Jboss Tools para Eclipse 3.5 e instale-o manualmente. No Eclipse, clique em
Help → Install New Software:
7. 3. Clique em Add.. e Depois em Archive:
4. Selecione o jar do Jboss Tools que você baixou e instale tudo. Inclusive o suporte para
Maven (importantíssimo).
5. Após instalar tudo, CERTIFIQUE-SE QUE VOCÊ INSTALOU TUDO MESMO =) .
Habilite a opção Hide Items that are already installed e verifique se não deixou nada para trás.
8. 6. Instale o plugin do SVN. Da mesma forma que você instalou o Jboss Tools, coloque o
endereço (esse não tem problema baixar diretamente do site ^^ )
http://subclipse.tigris.org/update_1.6.x/
7. Maven – M2Eclipse – Instale o plugin do maven para o Eclipse -
http://m2eclipse.sonatype.org/sites/m2e/ e instale também os extra:
http://m2eclipse.sonatype.org/sites/m2e-extras/
8. Instale o FileSync (falaremos o que é isso posteriormente nesse tutorial) -
http://andrei.gmxhome.de/eclipse/
9. Configure o Eclipse para que o autocomplete dos arquivos de extensão xhtml funcionem
corretamente. Faça o seguinte: Vá em Window → Preferences:
10. Em Content Types selecione Text -> JSP clique no botão Add e adicione a extensão *.xhtml
como File Association;
11. Vá em Editors -> File Associations selecione a extensão *.xhtml em File Type e adicione Jboss
Tools HTML Editor como Default.
12. Ok! Em tese seu ambiente de trabalho está supostamente configurado!
Checkout
Para realizar o checkout de um projeto, faça o seguinte:
Mude a perspectiva do Eclipse para SVN Repository Exploring. É muito importante que
você saiba usar e abusar dos recursos do Eclipse. Não foi à toa que escolhemos essa IDE.
Requer alguma prática saber usá-la, mas acredite, vale a pena decorar alguns comandos e
atalhos; isso lhe poupará muito tempo depois.
13. Na aba SVN Repositories, clique com o botão direito no espaço em branco, depois em New →
Repository Location
Insira a URL do repositório do seu projeto. Por exemplo,
14. Clique em Finish.
Expanda a aba do repositório e ache seu projeto. Clique com o botão direito em cima dele e
selecione Checkou as Maven Project:
Pelo mesmo procedimento que você mudou para a perspectiva de SVN Explorer, altere para A
perspectiva do Seam:
Se tudo estiver correto, seu projeto terá aparecido em sua workspace:
15. Configurando o Maven
Assim que você der checkou no projeto, são necessárias algumas configurações do Maven – mais
especificamente a construção correta das Goals. Atenção a essa parte, pois se você pular alguma
etapa o Jboss AS reclamará e te retornará uma infinidade de exceptions.
1. No projeto principal (raiz), clique com o botão direito, vá em Run As → Maven Build
16. 2. No campo Goals, digite clean install:
3. Na aba servers, suba o Jboss AS. Basta pressionar o botão de Start:
4. Repita o procedimento 2, mas dessa vez use a Goal jboss:configure
17. 5. Hora de configurar o ear. No projeto contendo o ear, repita o passo 4 (digite a goal
jboss:configure).
6. Caso seja a primeira vez que você dá deploy na aplicação, crie a Goal jboss:hard-deploy.
7. Crie a goal clean install jboss:hard-undeploy jboss:hard-deploy.
8. DICA: para acessar as goals, use o atalho Alt+Shif+X, solte, e pressione M. As goals serão
listadas:
9. Em teoria já é possível acessar sua aplicação. Teste em seu browser.
Hot-Deploy no Jboss AS com o FileSync
A grande sacada dos Applications Servers hoje consiste em realizar hot-deploy das Aplicações. Mas
afinal, o que é hot-deploy? Pense nas aplicações onvencionais que você já viu. Em geral é
necessário parar o server quando você realiza alguma mudança em um Pojo ou EJB ou na view,
certo? Isso ocorre porque o .ear da aplicação é lançado para o server. Mas e se em vez de um .ear
lançássemos uma pasta contendo o war e o jar? Uma pasta contendo essas pastas abertas? Essa é a
idéia do hot-deploy: lançar para o server uma pasta contendo war e jar explodidos (não
compactados), a fim de realizar sincronização em tempo real da aplicação. Para essa sincronização,
utilizamos o FileSync.
Configurando:
1. No módulo do war, clique com o botão direito, e vá em Properties:
19. 3. Habilite a caixa de Enable FileSync Builder.
4. Vá em Add Folder. Adicione /diretorioDoSeuProjeto/src/main/webapp. Adicione também
/diretorioDoSeuProjeto/target/classes.
5. Habilite a caixa de Allow different target folders.
6. Em default target Folder, estabeleça localQueVoceInstalouOJbossjboss-
5.1.0.GAserverdefaultdeployoentregador-site-ear-0.0.1-SNAPSHOT.earoentregador-site-
war-0.0.1-SNAPSHOT.war
7. Nos mapas de sincronização, altere o target de classes para deployDir->myproject.war-
>WEB-INF->classes .
8. Clique em OK.
Pronto, seus arquivos já estão sincronizados.
Referências
http://seam-archetype.sourceforge.net/jbosscc-seam-archetype/1.2/quickstart.html
http://blog.akquinet.de/2009/09/14/getting-started-with-jboss-seam-and-maven-in-10-seconds/
http://mojo.codehaus.org/jboss-maven-plugin/examples/deploy-undeploy-examples.html
http://docs.codehaus.org/display/MAVENUSER/JBoss+Maven+Plugin
https://docs.sonatype.org/display/M2ECLIPSE/Using+Maven+with+application+servers#UsingMa
venwithapplicationservers-JBoss
http://mojo.codehaus.org/jboss-maven-plugin/examples/deploy-undeploy-examples.html
http://docs.jboss.org/seam/1.2.1.GA/reference/en/html/gettingstarted.html
http://kasper.eobjects.org/2009/04/seam-ejbs-and-ear-packaging-in-maven.html