Boa noite,
eu comecei a mexer no Ubuntu, e resolvi instalar o JDK segundo o tutorial aqui do GUJ (http://guj.com.br/java.tutorial.artigo.167.1.guj), só que com o JDK 1.6.0_04 (adaptando pastas e comandos, obviamente).
Após seguir todas as instruções, fui no site do Java e ele confirmou que realmente o JDK é o JDK 1.6.0_04. Porém, quando executo “java -version”, o terminal diz que a versão é a 1.5.0, mas, ao executar um “java x” para testar, ele mostra o stacktrace com o JDK JDK 1.6.0_04 que instalei.
A mensagem sobre a versão 1.5.0 mostrada aparecia antes mesmo de eu instalar a versão JDK 1.6.0_04. Eu vi no Sinaptic que não havia JDK algum instalado. O que se passa?
[code]antonioni@antonioni-desktop:~$ java -version
java version “1.5.0”
gij (GNU libgcj) version 4.2.1 (Ubuntu 4.2.1-5ubuntu5)
Copyright © 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
antonioni@antonioni-desktop:~$ java x
Exception in thread “main” java.lang.NoClassDefFoundError: x
at gnu.java.lang.MainThread.run(libgcj.so.81)
Caused by: java.lang.ClassNotFoundException: x not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/home/antonioni/Programs/Java/jdk1.6.0_04/lib/], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.81)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.81)
at java.lang.ClassLoader.loadClass(libgcj.so.81)
at java.lang.ClassLoader.loadClass(libgcj.so.81)
at gnu.java.lang.MainThread.run(libgcj.so.81)
[/code]
Para saber se está apontando para a pasta correta, digite:
whereis java
Pode não estar sobre o nome de JDK, mas o Ubuntu costuma vir com uma JRE, provavelmente a 1.5.
Até!
Hum, obrigado.
Fui nos diretórios e excluí tais arquivos encontrados, de fato não eram os da versão que instalei. Agora o “java -version” mostra o JDK 6.0. Também desinstalei as libs libgcj no Sinaptic (as runtimes java instaladas).
Agora o comando whereis não mostra nada, a não ser “java:”. Errado, devo corrigir? :-o
Bom dia,
Eis um problema que costuma ocorrer com as distribuições Linux (eu particularmente nem tento atualizar a versão que já vem padrão).
Tente fazer o seguinte (não sei se é o modo mais rápido ou seguro, mas é o que eu realizo e funciona):
:arrow: Exclua todas as pastas que possuam como nome java ( find / -name java -type d -exec rm -rf ‘{}’ ; ou, de modo mais seguro: find / -name java -type d -> Depois vá para cada pasta que deseja remove
)
:arrow: Verifique se existe alguma variável de ambiente cujo nome comece com JAVA (verifique o arquivo /etc/profile ou tente dar um echo $JAVA_HOME). Se houver, dê unset nela.
:arrow: Muito provavelmente sua variável PATH conterá um caminho para o Java já previamente instalado. Se houver, remova-o da variável
:arrow: Reinstale o java da versão 6
:arrow: Configure no /etc/profile as variáveis de ambiente, ou crie um arquivo de bash para criar as variáveis e dar export depois (JAVA_HOME e etc)
Verifique os comandos no Ubuntu por favor, já instalei tantas versões do Linux que já desisti de guardar os comandos de cada distribuição :roll:
EDIT: Você poderia fazer algo bem menos trabalhoso, e simplesmente criar uma variável de ambiente e coloca-lá antes do PATH atual. Por exemplo
JAVA_CERTO=/aqui/o/java/esta/correto
export JAVA_CERTO
PATH=$JAVA_CERTO:$PATH (Coloca o caminho correto antes do caminho errado, portanto você deveria utilizar o comando certo.
[]'s
Obrigado pelas informações. Tudo está ok (instalei até o NetBeans 6, applets funcionam), com exceção do comando “whereis”, que retorna “java:”. Não sei no que isso pode afetar, mas vou dar uma vasculhada nesses comandos. 