Configurando JBoss Tools (JEE 6) no Eclipse Indigo e JBoss 7

julho 24, 2011

Esse post tem por finalidade configurar um ambiente de desenvolvimento para o JEE 6, utilizando a tecnologias:

e mostrar ao final o desenvolvimento de um servlet.

Tomo como padrão que se tenha instalado jdk 6 ou superior. Se você não o tem baixar aqui.

JBoss 7

Esta versão do JBoss vem por padrão com a configuração lightning, iniciando apenas os serviços básicos e fazendo com que os outros sejam executados sob demanda. O resultado disso é um startup muito rápido, em torno dos 4s, dependendo do computador. Para saber mais sobre essa versão do JBoss, clique aqui.

Para instalar o JBoss, basta baixá-lo em Servidor de Aplicação JBoss 7 versão comunidade e descompactá-lo (é independente de sistema operacional). Sugiro criar um pasta java em seu computador e descompactá-lo lá.

Para executar o JBoss pela linha de comando:

  • cd [pasta_jboss]/bin
  • standalone.bat (windows) ou ./standalone.sh (mac e linux)
Uma tela típica de início do JBoss é similar à de abaixo. Perceba que existe uma linha, ao final, informando o tempo de start do JBoss. Para ver a tela de boas vindas do JBoss no browser, digite na url: http://localhost:8080/ (se você deixou como padrão a porta 8080).
Após instalarmos o Eclipse Indigo vamos aprender a executar o JBoss por dentro dele.

Eclipse Indigo (3.7)

Baixe o Eclipse em IDE Eclipse Indigo (3.7) para desenvolvedores JEE. Escolha a versão correspondente ao sistema operacional. Execute o instalador.

JBoss Tools 3.3

Execute o Eclipse.



  • escolha na lista Work With: o JBoss Tools
  • escolha a opção All JBoss Tools 3.3

  • clique em next, aceite os termos da licença e vá clicando next até a conclusão da instalação. Dependendo da velocidade de sua rede pode demorar alguns minutos. Ao final, será preciso reiniciar o Eclipse

Acrescentando o JBoss ao Eclipse

  • clique em Windows -> Show View -> Servers
  • clique com o botão direito na área dos servidores e clique em New -> Server
  • escolha a opção JBoss AS 7.0 e clique em Next
  • em Home Directory escolha a pasta de instalação do seu JBoss (se vc seguiu minha recomendação, deverá estar em c:\java\[pasta_jboss]
  • Clique em Finish
Perceba que na aba Servers haverá o jboss que você inseriu, podendo ser executado pelo botão de Run (bola verde ao lado de um besouro no canto direito [este serve para executar o JBoss em modo debug]).

Primeira aplicação Web JEE 6

Para criar um projeto web no Eclipse:

  • clique em File -> New -> Project….
  • na opção web, escolha Dynamic Web Project
  • clique em Next
  • dê um no nome ao seu projeto e clique em Finish


Para criarmos um servlet (soma entre dois números), nesta versão do JEE ficou bem mais fácil, já que foram desenvolvidas várias anotações para diminuir a quantidade de configurações no web.xml.
Como boa prática, crie um pacote na pasta src em Java Resources do seu projeto. No meu caso criarei o pacote com.gugawag.aulas.servlets. Clique com o botão direito em cima dele e clique em New -> Servlet.
  • Dê um nome à classe do servlet. Costumo dar o nome com o sufixo Servlet
  • clique em Next
  • clique no URL Mapping (como seu servlet será chamado na URL) e edite o /SomaServlet
  • mude para /soma.do (isso não muda o servlet. Apenas padroniza a forma de chamá-los. Use o prefixo da sua escolha. Uso normalmente .do)
  • clique em Next
  • dos métodos a serem sobrescritos, deixe marcado apenas o doGet
  • clique em Finish
No método doGet, insira as linhas abaixo:
int numero1 = Integer.parseInt(request.getParameter("numero1"));
 int numero2 = Integer.parseInt(request.getParameter("numero2"));

PrintWriter out = response.getWriter();

out.write("A soma desses números é: " + (numero1 + numero2));

O Servlet deve ficar como mostrado na figura abaixo. Perceba o uso da anotação @WebServlet. É nela que se define como o seu servlet será chamado na url (/soma.do), o URL Mapping como visto em passo anterior.

Para executar esse sistema, clique com o botão direito em cima do projeto -> Run as -> Run on server. Um browser interno do eclipse aparecerá. O eclipse irá implantar o sistema (.war) no JBoss. Para ver o resultado desta implantação, olhe o log da aba Console. Se o JBoss ainda não estiver executando, o eclipse fará o trabalho.

Para testar o servlet, na área de url do browser do eclipse, ou de um browser a sua escolha, digite:

http://localhost:8080/ExemplosServlets/soma.do?numero1=10&numero2=5

Troque nesta url o nome do projeto ExemplosServlets pelo nome do projeto que você escolheu. Altere os valores passados para os parâmetros numero1 e numero2 a sua escolha. Um resultado similar à imagem abaixo deve aparecer.

Neste link você pode baixar o projeto no Eclipse deste servlet.

Anúncios

26 Respostas to “Configurando JBoss Tools (JEE 6) no Eclipse Indigo e JBoss 7”

  1. Fernando Franzini said

    Tem certeza que precisa instalar todos os itens do JBoss Tools 3.3?

  2. Alexandre MarquesRodrigues said

    Ola gugawag eu fiz todo o procedimento estou com o eclipse indigo JBoss 7 e ao tentar startar o JBoss deu a seguinte mensagem de erro:

    Error: on ‘server’ JVM at ‘C:\Program Files\java\jre6\bin\server\jvm.dll’

    depois que eu clico em ok aparece essa outra mensagem:

    ‘Starting’ JBoss 7.0 Runtime sever has encontered problem.
    Server JBoss 7.0 Runtime server failed to start.

    • gugawag said

      Olá Alexandre.

      Esse erro ocorre pois o JBoss, em algumas máquinas, só sobem com o JDK (não o jre padrão das máquinas). Sendo assim, você pode resolver isso da seguinte forma:

      Certifique-se que você instalou o JDK 6 ou 7.

      No Eclipse, vá em Windows -> Preferences. Digite na área de filtro (campo digitável na área superior) a palavra jre. Clique em Installed JREs. Clique no botão Add e depois escolha Standard VM. No item JRE Home clique em Directory e aponte para a pasta do JDK. Clique em Finish. Desmarque qualquer outra JRE que esteja marcada e deixe marcada apenas a que você acabou de configurar (em alguns casos, tem-se que remover a jre da lista do eclipse). Clique em Ok.

  3. Alexandre MarquesRodrigues said

    gugawag o meu jdk é 1.6.0.23, eu fiz esse procedimento, pois eu imaginei que era igual o do toncat, mais contunua dando o mesmo erro, eu devo remover a jre?

  4. Alexandre MarquesRodrigues said

    gugawag deu certo! eu removi a jre e o servidor startou.

    ve se esta tudo ok!

    15:17:19,856 INFO [org.jboss.modules] JBoss Modules version 1.0.1.GA
    15:17:20,261 INFO [org.jboss.msc] JBoss MSC version 1.0.0.GA
    15:17:20,339 INFO [org.jboss.as] JBoss AS 7.0.0.Final “Lightning” starting
    15:17:21,541 INFO [org.jboss.as] creating http management service using network interface (management) port (9990) securePort (-1)
    15:17:21,556 INFO [org.jboss.as.logging] Removing bootstrap log handlers
    15:17:21,572 INFO [org.jboss.as.connector.subsystems.datasources] (Controller Boot Thread) Deploying JDBC-compliant driver class org.h2.Driver (version 1.2)
    15:17:21,589 INFO [org.jboss.as.clustering.infinispan.subsystem] (Controller Boot Thread) Activating Infinispan subsystem.
    15:17:21,730 INFO [org.jboss.as.naming] (Controller Boot Thread) Activating Naming Subsystem
    15:17:21,745 INFO [org.jboss.as.naming] (MSC service thread 1-1) Starting Naming Service
    15:17:21,761 INFO [org.jboss.as.osgi] (Controller Boot Thread) Activating OSGi Subsystem
    15:17:21,777 INFO [org.jboss.as.security] (Controller Boot Thread) Activating Security Subsystem
    15:17:21,792 INFO [org.jboss.remoting] (MSC service thread 1-2) JBoss Remoting version 3.2.0.Beta2
    15:17:21,808 INFO [org.xnio] (MSC service thread 1-2) XNIO Version 3.0.0.Beta3
    15:17:21,823 INFO [org.xnio.nio] (MSC service thread 1-2) XNIO NIO Implementation Version 3.0.0.Beta3
    15:17:22,120 INFO [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-1) The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_23\bin;.;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program Files/Java/jre6/lib/i386;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter\Driver;C:\Program Files\Windows Live\Shared;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\eclipse_J2EE_JBOSS;
    15:17:22,167 INFO [org.jboss.as.ee] (Controller Boot Thread) Activating EE subsystem
    15:17:22,307 INFO [org.jboss.as.remoting] (MSC service thread 1-3) Listening on /127.0.0.1:9999
    15:17:22,369 INFO [org.jboss.as.jmx.JMXConnectorService] (MSC service thread 1-4) Starting remote JMX connector
    15:17:22,572 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-3) Starting Coyote HTTP/1.1 on http–127.0.0.1-8080
    15:17:22,745 INFO [org.jboss.as.connector] (MSC service thread 1-1) Starting JCA Subsystem (JBoss IronJacamar 1.0.0.CR2)
    15:17:22,807 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) Bound data source [java:jboss/datasources/ExampleDS]
    15:17:23,072 INFO [org.jboss.as.deployment] (MSC service thread 1-3) Started FileSystemDeploymentService for directory C:\Program Files\Java\JBoss\jboss-as-web-7.0.0.Final\standalone\deployments
    15:17:23,150 INFO [org.jboss.as] (Controller Boot Thread) JBoss AS 7.0.0.Final “Lightning” started in 3606ms – Started 92 of 147 services (55 services are passive or on-demand)

  5. Alexandre MarquesRodrigues said

    gugawag gostaria muito de te agradecer, pela paciencia e gostaria de te dar o meus parabéns pelo se post, eu sou iniciante em java e tenho interesse em programar java_ee eu não conhecia o JBoss pessoalmente e pelo que eu pude perceber ele é mais completo que o toncat,eu aprendi bastante com o seu post e estou muito feliz de poder contar com pessoas como você que postam a solução.

    Um Abraço e Parabéns mais uma vez kkk

    Att,

  6. Felipe Mota said

    Primeiramente queria parabenizar pelo excelente post.

    Guga, faço todos os passos, mas o meu Indigo não passa dos 0% na hora da instalação, já refiz todos os passos umas 3 vezes, será que a versão para Windows não está legal ainda?

    Abraços..

    • gugawag said

      Olá Felipe. Que bom que vc gostou.
      Quanto ao Windows, esse tutorial foi usado para instalar 2 labs com Windows e funcionou legal. Tem proxy em sua rede?

      • Felipe Mota said

        Não, aqui é rede da universidade., mas ta muito lento, o que é estranho, pois a internet aqui é muito boa. Acho que vou continuar depois.

  7. Agradeço pelo post, ajudou muito.
    Gostaria de deixar aqui uma dica também, tive problema com isso.
    Se seu projeto importa alguma lib externa (por exemplo o XStream, que foi o meu caso).
    Copie esses JARs para o diretório:
    C:\Java\jboss-6.1.0.Final\server\default\lib

    Agradeço, novamente, ao seu tutorial, simples e funcional =D

  8. Luciana said

    Olá Gugawag, tudo bem! Vi seu post é muito bom mesmo, segui o mesmo desde o início, estou com problemas, pois quando tento subir a servlet no browser informando a url com meu projeto informa que a página não pode ser exibida erro 404. Já certifiquei se o caminho está correto, mas sem sucesso. Caso possa ajudar ou dar alguma dica desde já agradeço. Segue abaixo o erro que aparece :

    The webpage cannot be found
    HTTP 404
    Most likely causes:
    There might be a typing error in the address.
    If you clicked on a link, it may be out of date.

    What you can try:
    Retype the address.

    Go back to the previous page.

    Go to and look for the information you want.

    More information

    • gugawag said

      Olá Luciana.

      Erro 404 é quando não se encontra a URL. Como o erro não é esse, e sim um que causa esse, não tem como eu te dar uma dica. Mas olha no log do JBoss que lá deve estar explicando o porque de a aplicação não ter executado.

  9. João Ribeiro said

    Olá,
    Pode ter a ver com o nome da página.. Se lhe puseres o nome ‘index.jsp’ já deve funcionar. Esta definição é configurada no web.xml.

  10. Com essa configuração vai ser possível ter hot deploy? (salvar e já ver o resultado imediatamente no browser)

    Tenho visto informações inconsistentes pela internet, então resolvi perguntar num lugar que descreve exatamente a mesma combinação (Eclipse 3.7 + JBoss 7) que estou experimentando (nada a sério por enquanto).

    • gugawag said

      Olá Marcus.

      Sim. O padrão do JBoss é hot deployment.

      • Valeu! Descobri o que estava errado: O default é:

        auto-deploy-zipped=”true” auto-deploy-exploded=”false”

        O Eclipse até salva o jsp modificado (fiz um jsp além do Servlet) na pasta deployments do JBoss, mas ele está configurado para só fazer deploy automático de arquivos zipados, não de arquivos individuais (exploded). Os docs dizem que está assim pra não correr o risco de fazer deploy de coisas incompletas… Aí já não sei o que é melhor fazer.

        Bom, também achei a opção “Full Publish” dentro da aba “Servers” (JBoss->NomeDoProjeto, botão direito do mouse) então está OK, funcionou 🙂

  11. Guga, deu um erro na linha de comando:

    PrintWriter out = response.getWriter();

    Por esse comando não é reconhecido?

    • gugawag said

      Edilson.

      Essa linha pode dar errado se o objeto response não tiver esse nome. Talvez o doGet que você gerou tenha definido a variável de resposta como HTTPServletResponse resp, ao invés de HTTPServletResponse response. Basta você alterar o response.getWriter() para o nome correto da variável.

  12. Valdir said

    Pessoal. Estou com um problema e ainda não achei a solução: Fiz tudo conforme o manual. O JBoss está 100% rodando em 127.0.0.1:8080. Quando mando rodar a aplicação, dá o sequinte erro: HTTP Status 404

    description The requested resource (pasta/arquivo) is not availabl

    Pesquisei sobre isso mas não achei ainda a solução. Alguem já passou por isso? Abraços

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: