domingo, 4 de março de 2012

Eclipse, OpenJDK 7 e AJDT no MacOSX


O lançamento do Java 7 está quase fazendo aniversário e eu ainda não havia me "atualizado" para esta nova versão. Boa parte da culpa estava na não-disponibilidade do OpenJDK 7 para MacOSX, ao menos não na versão estável.

Depois de muito aguardar, acreditei que o OpenJDK estava estável o suficiente para utiliza-lo. Muitos relatos da comunidade Java no mundo colaboraram para esta opinião.

Passo-a-passo da migração:
  1. Instalar o OpenJDK 7 para MacOSX (obtido em http://jdk7.java.net/macportpreview/). Siga as instruções na página.
  2. Atualizar a versão do Java de 1.6 para 1.7 tanto no maven-compiler-plugin quanto no aspectj-maven-plugin (esse último somente se você utilizar de fato  o AspectJ) do seu pom.xml (assumindo que você utiliza o maven).
  3. Atualizar a versão do AspectJ para a 1.7.0.M1 (novamente, somente se você utilizar o AspectJ).
  4. Atualizar a versão do AJDT do Eclipse para uma versão que possua suporte ao Java 7. É necessário se você utilizar o JDT Weaving do Eclipse (como é o meu caso). Pra quem gosta de arriscar e quiser utilizar o update site, adicione a URL http://download.eclipse.org/tools/ajdt/37/dev/update. Entretanto, eu recomendo baixar o zip da atualização manualmente para não ter o dissabor de num update futuro as coisas deixarem de funcionar. A versão que eu utilizei e que afirmo que funciona é a http://www.eclipse.org/downloads/download.php?file=/tools/ajdt/37/dev/update/ajdt-e37x-20120302-1100.zip
Encontrei muitos relatos na Internet que mostravam o Java 7 funcionando no Eclipse no MacOSX, mas nenhum relatava a configuração com o AspectJ. Tive que descobrir sozinho. E aproveito e reporto aqui para que outras pessoas não percam o mesmo tempo que eu perdi.

Nota: usuários do Spring Roo certamente utilizam o AspectJ em seus projetos. Usuários do Spring que utilizam a anotação @Configurable provavelmente também.