Eclipse no Fedora

Como já havia citado, fazer o Eclipse funcionar no meu Fedora Core 3 não foi, pelo menos para mim, uma tarefa fácil. Por ter tempo livre limitado, tudo o que fiz foi picado, de um dia para outro. Talvez por isso tenha sido difícil…

Aviso: Se vc está interessado no Eclipse IDE, mas sequer abaixou arquivos do website oficial do Eclipse, considere isso primeiro.

A escolha do arquivo para se baixar não é muito intuitiva. O melhor jeito de se fazer isso, nesse momento, é ir pela página de downloads beta. Por ela podemos obter o arquivo que precisamos (no caso, o eclipse-SDK-3.0.1-linux-gtk.zip, procure pela versão mais atual).

Uma vez baixado o arquivo, basta descomprimir o mesmo no diretório de escolha (eu optei por fazer isso no /opt/eclipse). Dentro do diretório existe um binário chamado eclipse. Rodei ele e … erro.

O que acontece? O $JAVAHOME e o $JAVACHOME estão, respectivamente, apontados para /usr/bin/java e /usr/bin/javac, o que me parece bastante correto.

Mas tanto o /usr/bin/java e o /usr/bin/javac não passam de symlinks para /etc/alternatives/java e /etc/alternatives/javac, que por sua vez, também são symlinks e apontam para /usr/share/java/libgcj-java-placeholder.sh e /usr/share/java/libgcj-javac-placeholder.sh. Confuso? Sim.

Em resumo:
/usr/bin/java -> /usr/share/java/libgcj-java-placeholder.sh
/usr/bin/javac -> /usr/share/java/libgcj-javac-placeholder.sh

Nesses placeholders, se lê que eles são necessários pois versões antigas da libgcj conflitavam com os symlinks que os pacotes da JVM do jpackage.org. Por puro cansaço (e um pouco de raiva), não me dei o trabalho de entender as razões disso, ou se existem pacotes na distribuição padrão do FC3 que pudessem resolver isso.

Nesse ponto, pensei em duas saidas. Eu tenho o Java SDK da Sun. Uma das saídas seria apontar o $JAVAHOME e o $JAVACHOME definitivamente para onde estavam o java e o javac fornecidos pelo Java SDK da Sun (ou qualquer outro SDK/JRE, seja da Sun, IBM, Bea e etc…)

A outra - que eu, particularmente, adotei - foi refazer os symlinks, dessa vez, apontando eles para os binários do Java SDK, ficando assim:

/usr/bin/java -> /usr/java/j2sdk1.4.206/bin/java
/usr/bin/javac -> /usr/java/j2sdk1.4.2
06/bin/javac

Essas duas saidas apresentam o mesmo problema. Se eu atualizar o SDK para, digamos, a versão 1.4.209, vou ter que refazer os symlinks, ou apontar o $JAVAHOME e o $JAVAC_HOME para os novos binários.

Como eu adotei a solução do symlink para o javadoc e para o jar também, resolvi fazer uma bela sujeira e criei um symlink master /usr/java/j2sdk1.4.2_06 -> /usr/java/current e apontei os outros symlinks para o /usr/java/current:

/usr/java/j2sdk1.4.2_06 -> /usr/java/current
/usr/bin/java -> /usr/java/current/bin/java
/usr/bin/javac -> /usr/java/current/bin/javac

Basta, no caso de alguma atualização do SDK, refazer esse symlink.

Uma vez feito isso, o Eclipse rodou, sem maiores problemas.

Não foi uma saida limpa. O que me chateou foi ter procurado (porcamente, admito) uma solução para esse problema na net e não ter encontrado. O problema em si não é nada, mas deu um trabalho desnecessário ter que desvendar ele.

Pouco tempo depois (i.e., hoje), eu encontrei algo similar em um fórum, depois de uma boa googleada. Por curiosidade, entrei também no site do jpackage.org, para ver se encontrava alguma coisa.&nbspEncontrei RPMs do Eclipse, em uma distribuição própria deles e, como o FC3 adota seus pacotes, deve ser completamente compatível. Talvez se tivesse começado as buscas por lá, não teria tido tanto trabalho.

Enfim, como já havia dito, o Eclipse IDE é uma grande ferramenta e vale a pena o esforço. Acredito fortemente que bati cabeça e poderia ter resolvido tudo sem maiores complica&ccedilões. De qualquer forma, documento aqui a minha cabeçada para que outros cabeçudos não passem pelo mesmo.

[UPDATE] Só para ficar 100% supimpa, é interessante adicionar a seguinte linha:


$JAVA_HOME=/usr/java/current/

no arquivo /etc/profile. Assim, a variável de ambiente de Java passa a ser o link que aponta para a versão corrente do mesmo. Isso facilita atualizações.


Comentário de Eduardo Tompson Pereira (Temp) - 24.01.05 @ 00h02 #

Pois é amigo, eu instalei o Eclipse aqui em casa com o primo do Fedora, Slackware (primo distante), tempos atrás. Por incrível que pareça, não tive todos esses problemas que você apontou.

Por questões de compatibilidade, o Patrick tenta manter o Slackware Linux daquele jeitão original, padrão.

Mas é isso aí, conseguindo resolver é só partir para a labuta!

Abraços.

Comentário de Luiz Rocha - 24.01.05 @ 00h30 #

Bom, provavelmente é por causa da adoção do jpackage no FC3 que isso aconteceu…

Mas, como eu disse, valeu a pena. Dá uma raiva na hora, mas já passou! :-)

Comentário de Jim - 24.01.05 @ 12h56 #

O ministério da saúde adverte: instalar o Eclpise pode causar pedras nos rins! :-)

Comentário de Aykar G. Gil - 28.01.05 @ 17h20 #

ln -sf /usr/local/java/j2sdk1.4.2_05/jre/bin/java /usr/bin/java

con agregar la siguiente linea se resuelve el problema, espero que les sirva

LSDR.net

Feeds: Posts, Comentários


© 2004 - 08, Luiz Rocha
(GPG key)

Todo conteúdo sob licenca Creative Commons by-sa, a não ser que explicitado.

As opiniões expressas nesse website não representam necessariamente a visão estratégica, as opiniões e posições do meu empregador, nem são endossadas pelo mesmo.

Caveat Lector


OpenID friendly website