Migrando do Netbeans para o Eclipse

Há alguma semanas comecei a usar o Netbeans profissionalmente num dos projetos aqui da empresa. Já comentei sobre isso algumas vezes aqui no blog: aqui, aqui e aqui. Experiências com ferramentas novas (às vezes nem tão novas, afinal eu já conhecia o Netbeans há muito tempo, só não usava no trabalho) é sempre algo que gosto muito pois sempre rola muito aprendizado, melhora nossa visão e criticidade sobre uma série de pontos, e por aí vai.

E com o Netbeans não foi diferente, aprendi um pouco mais sobre detalhes da IDE, alguns atalhos, algumas manhas, também vivenciei alguns dos problemas que eu já conhecia e acabei por descobrir e sofrer com alguns outros novos. Após migrarmos para a versão 6.1 alguns novos problemas foram cruciais para a decisão da migração, como os mais importantes:

  1. CVS
    Com muita freqüência (principalmente com JSPs) o Netbeans não mostra o que há de novo ou modificado no repositório. É muito comum alguém fazer um commit de uma nova JSP, por exemplo, outra pessoa fazer um Show Changes e está JSP não aparecer na lista para o update. Às vezes conseguimos resolver fazendo direto um Update no projeto inteiro, mas não é sempre que funciona. Mesmo quando funciona há o inconveniente de estar fazendo um update às cegas, sem saber ao certo o que está vindo do repositório. Quando não funciona eu tenho que procurar o cara que colocou a JSP no projeto, pedir pra ele remover e inserir de novo, até funcionar.
  2. Indexing
    Sabe aqueles problemas horríveis que só acontecem de vez em quando ou que só acontecem com uma pessoa X ou Y? Pois é, depois da atualização do Netbeans, algumas estações praticamente todas as estações começaram a ter um problema desta espécie. Ao abrir a IDE perdia-se em média 3 minutos aguardando a conclusão da indexação do conteúdo do projeto, e não, nosso projeto não é um mega projeto. E isso não acontecia com todas as pessoas da equipe, apenas com alguns sortudos contemplados.

Como estes problemas impactam diretamente no ambiente de desenvolvimento como um todo e na integração da equipe não tivemos outra alternativa que não fosse a migração, e obviamente a IDE escolhida não poderia ser diferente, optamos pelo Eclipse :D

O processo de migração em si foi bem simples e não houve nenhum tipo de trauma. Não utilizamos ferramentas ou kits de migração, nada disso, tudo correu de forma de simples e convencional, porém muito funcional e útil.

A migração

Nosso ambiente no Netbeans era composto por dois projetos, que chamarei pelo nome fantasia de jujuba. Este era o nosso projeto web. E também tínhamos o projeto jujuba-ejb.

Como os nomes dos projetos não refletiam bem o que deve ser o projeto real do cliente nós aproveitamos a migração para arrumar isso. Então criamos num Eclipse um Enterprise Application Project chamado doceria e nele dois módulos: doceria-web e doceria-ejb, simples assim.

O primeiro passo foi conferir todas as dependências. Nesta momento vale um ponto para o Netbeans, bastaria associar o projeto a dependência desejada (jersey, pra REST, por exemplo) e pronto, tudo é feito para que o projeto compile e a API fique a sua disposição e o mesmo é feito durante o build e deploy, empacotando todas as dependências. Mas fizemos no Eclipse, pega-se os JARs, copia no web-inf/lib para o projeto web e pega-se os outros JARs, coloque-os no projeto ejb e configure se estes deverão fazer parte do EAR ou do JAR do EJB. Pronto, agora estão configuradas as dependências.

O restante foi super simples. O deploy dos dois projeto é feito no JBoss, configurar isso no Eclipse é completamente normal, apenas criamos um novo servidor no Eclipse, utilizando a instalação local do JBoss, depois bastou associar o projeto doceria ao JBoss e tudo já estava funcionando, aliás, por enquanto ainda era nada, pois os fontes ainda não haviam sido migrados.

A migração dos fontes foi a parte mais antiquada, porém a mais fácil, bastou copiar diretamente no sistema de arquivos:

Para o projeto web:

  • cd /home/jeveaux/development/java/workspace/doceria-web/src
  • cp -r /home/jeveaux/development/java/workspace/jujuba/src/java/* .
  • cd ../WebContent
  • cp -r /home/jeveaux/development/java/workspace/jujuba/web .

E para o projeto EJB

  • cd /home/jeveaux/development/java/workspace/doceria-ejb/ejbModule
  • cp -r /home/jeveaux/development/java/workspace/jujuba-ejb/src/java/* .
  • cd /home/jeveaux/development/java/workspace/doceria-ejb/ejbModule/META-INF
  • cp /home/jeveaux/development/java/workspace/jujuba-ejb/src/conf/ejb-jar.xml .

E pronto, foi isso, sem stress e sem complicações. Agora o projeto foi totalmente migrado para o Eclipse e está completamente funcional, igualzinho quando estávamos utilizando o Netbeans.