Tag Archive for 'pdt'

Executar Eclipse PDT em Linux (especial 64 bits)

Ok, existem milhares de posts pela net a referirem-se a este problema. As dicas são várias, como sempre, mas raramente são explícitas.

Sintoma

O EclipsePDT pacote All-in-one não arranca.

screenshot-eclipse.jpg

JVM terminated. Exit code=13
/usr/lib/jvm/java-6-sun/jre/bin/java
-Xms40m
-Xmx256m
-jar /opt/eclipsepdt/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar

Causa

Alguns dos plugins incluídos estoiram quando executados numa JVM 64bits.

No meu caso, num AMD Turion 64 a correr Ubuntu 8.0.4 (Hardy Heron), encontrei as seguintes virtual machines em /usr/lib/jvm

  • sun 1.5.0.15 (64 bits)
  • sun 1.6.0.06 (64 bits)
  • java-gcj - java version “1.5.0″ (libgcj - Ubuntu 4.2.3-2ubuntu6)
  • open-jdk - java version “1.6.0″ (64 bits)
  • cacao 0.97 - java version “1.4.2″

O seguinte comando revela imediatamente a full-path de cada um dos java, além de permitir identificar qual o “java” executado por defeito no sistema:

sudo update-alternatives --config java

screenshot-ubuntu-java.jpg

Pode-se consultar a versão de cada um, usando java -version. Mais abaixo veremos qual o JRE a instalar. Nesse caso teremos:

/usr/lib/jvm/java-jre-32-1.6.0_07/bin/java -version

screenshot-ubuntu-java-version.jpg

Confusão

Na maior parte das soluções encontradas na web, atribuem-se imensas causas (macros incorrectas, directorias, paths, permissões, dificuldade em correr 2 instâncias do eclipse)… tudo ao lado… meu deus, o nível sinal-ruído no mundo do linux é brutal.

Dei por mim a instalar manualmente o Eclipse 3.3 e depois a tentar resolver as dependências todas para conseguir instalar via Eclipse Update todo. Pode-se tornar complicado, a sério. É preciso ter o Eclipse SDK v3.3.2 e as versões certas dos SDKs EMF, GEF e WTP mais uma série de features e plugins requeridos por estes.

Esquecer, esquecer tudo isso! Independentemente de usar ou não a instância que o sistema instala automaticamente (no Ubuntu 8.0.4 é o 3.2, raios porque não está actualizado!?) é perfeitamente possícvel descompactar o all-in-one em qualquer lado e simplesmente executar!

Solução

JRE

Fazer download do JRE 1.5 ou JRE 1.6 tanto faz (desde que não seja 64bits).

Para descompactar o arquivo do jvm (.bin) é primeiro preciso torná-lo executável e depois extrair. Para o efeito, tomando como exemplo a versão actual do Java 6:

chmod a+x jre-6u7-linux-i586.bin
./jre-6u7-linux-i586.bin

Copiar a pasta criada para dentro de /usr/lib/jvm e dei-lhe o sugestivo nome de java-jre-32-1.6.0_07

Eclipse PDT

Fazer download do pacote All-in-one e descompactar, por exemplo, para /opt/eclipsepdt/.

Executar

Executar o Eclipse com o switch -vm

/opt/eclipsepdt/eclipse -vm /usr/lib/jvm/java-jre-32-1.6.0_07/bin/java

Agora basta criar um item num painel ou num menu com esse comando.

No arranque o Eclipse PDR vai sugerir que se crie um workspace em /home/yourusername/workspace/. Basta aceitar.

eclipse-hello-world.jpg

Permissões

Convém que o root seja o owner da instalação do Eclipse. Se cópia não foi feita com um sudo mv é provável que assim não seja e é necessário executar algo como:

sudo chown -R root:root /opt/eclipsepdt

Finalmente, existem N formas de testar e publicar projectos com o PDT. Para um utilizador que vem do windows, por exemplo, a forma mais straight-forward de todas significa simplesmente criar um projecto dentro da pasta pública do apache.

Neste caso, como utilizador out of the box não será possível criar projectos em /var/www, apenas em /home/yourusername/workspace/. Não vamos alterar isso, vamos simplesmente criar um link simbólico de uma directoria no apache para uma outra no workspace que o eclipse criou para o utilizador.

cd /var/www;
ln -s /home/yourusername/workspace/teste teste

Já está. Agora http://localhost/test aponta com total transparência para /home/yourusername/workspace/teste.

No windows consegue-se um efeito semelhante através das directivas Alias do Apache, apontando certas URLs para os projectos no workspace. Mas isso implica sempre algum trabalho redobrado com determinadas aplicações PHP, nomeadamente quando envolvem mod_rewrite.

Mais tarde verei se/quais implicações pode ter o symbolic link.

E outras coisas incluindo como configurar o debugger, svn e subclipse e mais além.







Close
E-mail It
1