Arquivo para Outubro, 2008

Bugs do RHDS

No mundo do software livre, encontrar uma ferramenta de desenvolvimento que atenda todas as suas necessidades e de forma eficaz é um enorme desafio, O Red Hat Developer Studio, talvez pelo fato de ser um release candidate de um software pago, possui alguns bugs, alguns na qual irei listar a seguir:

  • Algumas vezes quando reiniciado, o RHDS perde a referencia para as libs de projeto, então por precaução você deverá adiciona-las manualmente clicando com o botão direito sobre o projeto >  Properties > Java Build Path > Libraries > Add JARS… , encontre o  local da sua pasta lib (ex: academico_secretaria/WebContentent/WEB-INF/lib) e selecione todas após clicando em OK.
  • Servidor Jboss configurado automaticamente (Jbossas 4.2) gera muitos bugs
  • Deploys em alguns momentos não são efetivos (essa caracteristica é dos plugins do eclipse)

Configurar Jboss no Linux e inclui-lo no RHDS

Neste tutorial utilizarei o jboss-4.0.5.GA.zip também pode utilizar outra versão ( 4.2.2 ou outra ) e demonstrarei como configura-lo em um ambiente de desenvolvimento. ( Esse tutorial não tem como objetivo configurar um servidor de produção )

O Jboss assim como a maioria dos aplicativos java só necessita o descompactamento e está pronto para utilizar

  1. Faça o download de http://www.jboss.org/jbossas/downloads/
  2. Descompacte-o
  3. Mova para um lugar de sua preferencia (no linux normalmente para /usr/lib/jboss4 no windows por ser em c:/jboss4).
  4. para testar entre na pasta /usr/lib/jboss4/bin/  (caso linux) e execute o comando
    $ ./run.sh
    ou execute o arquivo run.bat caso no windows
  5. caso run.sh não tenha permissão de execução (bash: ./run.sh: Permissão negada) execute o comando como root:
    # chmod +x run.sh
  6. Quando aparecer uma linha de texto no terminal similar a:
    [Server] JBoss (MX MicroKernel) [4.2.1.GA] Started in 11s:198ms
    o servidor terá executado com sucesso.
  7. teste abrindo em seu navegador: http://localhost:8080

Com o jboss devidamente instalado vamos adiciona-lo no RHDS / Eclipse:

  • Em uma nova instalação do RHDS ou em um workspace novo, recomendo remover o servidor que o RHDS instalou automaticamente e reiniciar o RHDS, pois ele gera alguns bugs.
  • Window > Preferences > Server > Installed Runtimes
  • Clique em Add…
  • Selecione a versão do Jboss na qual você deseja configurar, e marque a opção “Also create a new local server”, dessa forma ele adicionará automaticamente o servidor na aba Server.
    clique em Next
  • Em Home Directory localize a raiz do Jboss que você instalou, /usr/lib/jboss4 no nosso exemplo, configuration deixe Default selecionado:
    Clique em Next
  • Finish

A pasta default que são feitos os deploys é %raiz do jboss%/server/default/deploy/ quando publicar algum projeto certifique-se que nessa pasta é criado um arquivo chamado nome_do_projeto.war e se dentro dele estão todos os arquivos necessários para o funcionamento do mesmo.

Dicas:

  • Em geral o Eclipse (base do RHDS) é bem instavel, algumas vezes é necessário remover o servidor e adicionar novamente, muitas vezes também o workspace pode esta bugado, sendo necessário remover o mesmo e começar a configurar todos os projetos denovo (palavra de alguem que sofreu bastante com coisas do tipo)

Criando um simples projeto web com Struts no RHDS

Retificando: De preferencia instale você mesmo o Jboss, como demonstrado no artigo  http://www.webcentro.com.br/2008/10/09/configurar-jboss-no-linux-incluir-no-rhds/ pois a versão instalada pelo RHDS gera muitos problemas.

Nesse artigo quero mostar como criar um projeto web utilizando Struts no Red Hat Developer Studio, caso você não o tenha baixado veja o artigo: http://webcentro.wordpress.com/2008/09/18/rhds-red-hat-developer-studio-download/

Utilizarei o nome de projeto de academico_secretaria, mudem para o nome do projeto de vocês ou nomeiem como teste. Vamos aos passos:

  • Selecione a perspectiva Web Development Perpective:
    Window > Open Perspective > Other > Web Development Perpective
  • File > new > Struts Project
  • Preencha os dados em tela, onde diz Template selecione o único existente: KickStart e clique em Next
  • Nesse passo é muito importante que você selecione Servlet Version 2.4 (as versões 2.3 e 2.5 parecem não dar suporte a Expression Language), caso não exista um servidor (recomendo o jboss, alem de que este é instalado automaticamente durante a configuração do RHDS, senão instale ), clique em next
  • Marque todas as opções, ainda não tive a oportunidade de testar as configurações destes tld’s mas marque de qualquer jeito, clique em Finish

Pronto, seu projeto está criado, vamos realizar o Deploy:

  • Clique na aba Server, caso ela não esteja aparecendo, clique em Window > Show View > Other > Server
  • Observe que o projeto já se encontra selecionado para Publicação no server, caso não esteja, clique com o botão direito sobre o servidor > Add and Remove Projects (veja Dicas mais abaixo).
  • Clique no botão verde com o simbolo de play para iniciar o servidor. Todas vez que você efetuar uma alteração o RHDS automaticamente fará hot deploy, porém isso é configuravel (dando clique duplo no server) e as vezes não é totalmente seguro que atualizará, você também pode efetuar um deploy clicando no icone mais a direita.

Agora que publicamos o projeto, vamos vizualiza-lo:

  • Abra o seguinte endereço em seu navegador: http://localhost:8080/academico_secretaria

Dicas:

  • No linux, caso você encontre problemas ao dar deploy é por que você não tem permissão de escrita na pasta do servidor, execute o seguinte comando como root:
    # chmod -R 777 /usr/local/rhdevstudio/
  • Se o Deploy não funcionar e no console exibir o seguinte erro: “Unable to process deployment descriptor for context ‘null’”, remova o Jboss configurado clicando com o botão direito > delete, e configure como explicado no seguinte artigo: http://webcentro.wordpress.com/2008/10/09/configurar-jboss-no-linux-incluir-no-rhds/
  • Algumas vezes os deploys não são efetivos para resolver você pode:  Clicar com o botão direto > Clean ou Remover o projeto e adicionar novamente ou reiniciar o servidor.
  • Sempre olhe a aba Console para visualizar algum possivel erro.
  • Clicando duas vezes sobre o Server você abre as opções de configuração, clique em Automatic Publishing e marque Never publish automatically, para somente fazer deploy quando você desejar.

Configurar Eclipse Colorer – take5 no Linux

A dica a seguir me tomou muito tempo, havia até desistido. Hoje  numa ultima tentativa, consegui faze-lo funcionar:

A algum tempo atrás quando comecei a usar o eclipse para editar arquivos ASP/VBSCRIPT (não é a melhor opção, mas uma das melhores existentes no Linux), um colega, Paulo de Tarso, me apresentou o plugin Eclipse Colorer (http://colorer.sourceforge.net/eclipsecolorer/), que simplesmente colore o código asp, porém, depois de ter o computador formatado, nunca mais consegui configura-lo novamente.

A seguir os passos que fiz para instala-lo:

faça o download do pacote, e descompacte na pasta plugins do seu Eclipse:
(EclipseColorer-take5_0.8.0) http://sourceforge.net/project/showfiles.php?group_id=34855&package_id=75558

Até ai tudo bem, porém o EclipseColorer usa de uma lib própria e caso essa não tenha todas suas dependências instaladas irá ocorrer o seguinte erro:

“Error in initialization of a native part of the Colorer library. This can be caused by absent net_sf_colorer.dll (libnet_sf_colorer.so) library in paths of java machine. Or, colorer can’t find catalog.xml file, wich must be placed in ‘%PLUGIN_DIR%/colorer/catalog.xml’ Could not initilize class net.sf.colorer.ParserFactory”

como dito no erro, copie a lib que esta em …/net.sf.colorer_0.8.0/os/linux/x86 para um path que esteja visivel para o java, eu copiei para o /usr/lib mesmo
# cp libnet_sf_colorer.so /usr/lib

após isso use o comando ldd para listar as dependencias:

$ ldd /usr/lib/libnet_sf_colorer.so
linux-gate.so.1 =>  (0xb7f7e000)
libstdc++.so.5 => not found
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7eb9000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d69000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7d5e000)
/lib/ld-linux.so.2 (0xb7f7f000)

No meu caso a lib libstdc++.so.5 não existia, simplesmente dei um apt-get na libstdc++5

# apt-get install libstdc++5

Now it works ;]!! para mais informações vejam os fontes a seguir:

Fontes:
http://quattor.begrid.be/trac/centralised-begrid-v5/wiki/Configure_Eclipse
http://lists.debian.org/debian-user-portuguese/2003/12/msg00836.html