“java -version” mostrando uma saída diferente. Como encontrar a pasta instalada e configurar JAVA_HOME e JDK_HOME?

1

Eu baixei e instalei o pacote JDK + Netbeans do site da Oracle, mas quando digito java -version no terminal, recebo esta saída:

$ java -version
The program 'java' can be found in the following packages:
 * default-jre
 * gcj-4.8-jre-headless
 * openjdk-7-jre-headless
 * gcj-4.6-jre-headless
 * openjdk-6-jre-headless
Try: sudo apt-get install <selected package>  

Em primeiro lugar, o que isso significa? Existem várias versões do Java instaladas no meu sistema?
Em segundo lugar, existe uma pasta do JDK que foi criada depois que eu instalei o NetBeans + JDK. Estes são os conteúdos da pasta:

$ pwd
/usr/local/jdk1.8.0_65
$ ls
bin        javafx-src.zip  man          THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT  jre             README.html  THIRDPARTYLICENSEREADME.txt
db         lib             release
include    LICENSE         src.zip

Em terceiro lugar, o Android Studio não consegue encontrar JDK_HOME , mesmo que eu tenha fornecido export JDK_HOME=/usr/local/jdk1.8.0_65 em bashrc . O que poderia ser feito?

Estou pensando em excluir a pasta jdk1.8.0_65 e usar sudo apt-get install default-jre e sudo apt-get install default-jdk , mas estou apreensivo se excluir a pasta jdk poderia atrapalhar algo ou se os comandos apt-get baixariam a versão mais recente do Java .

UPDATE:
Tentei adicionar a pasta bin a PATH , mas embora a versão java esteja sendo mostrada corretamente, o android studio não consegue encontrar o JDK.

$ echo $PATH
/usr/local/jdk1.8.0_65/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
$ java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
$ android
[sudo] password for nav: 
ERROR: Cannot start Android Studio
No JDK found. Please validate either STUDIO_JDK, JDK_HOME or JAVA_HOME environment variable points to valid JDK installation.
$ echo $JAVA_HOME
/usr/local/jdk1.8.0_65/bin
$ echo $JDK_HOME
/usr/local/jdk1.8.0_65
$  
    
por Nav 17.12.2015 / 18:47

2 respostas

2

O que você está perdendo é adicionar a pasta jdk1.8.0_65/bin à sua variável ambiental PATH.

  

Em primeiro lugar, o que isso significa? Existem várias versões do java instaladas no meu sistema?

Não, mas o que você instalou em /usr/local/jdk1.8.0_65 não está localizado em outros programas como netbeans ou android que dependem do Java. Para verificar por si mesmo, basta abrir o seu terminal e adicionar a pasta que contém java executável à sua variável de caminho da seguinte forma:

export PATH="/usr/local/jdk1.8.0_65/bin:$PATH"

Para testar se isso foi bem-sucedido, acesse qualquer diretório e dispare este comando:

java -version

Uma vez que seja um sucesso, vá para a pasta netbeans e execute-a:

./netbeans

Se todas as outras configurações forem boas, ele deve ser executado e o Android também deve ser executado! Para tornar as alterações permanentes, adicione o modificador de caminho ao seu arquivo ~/.profile (caso contrário, você terá que emitir o comando export toda vez que abrir o terminal para trabalhar com java).

    
por Prahlad Yeri 17.12.2015 / 19:00
0
  

Em primeiro lugar, o que isso significa? Existem várias versões do java instaladas no meu sistema?

Não, estas são opções de pacote para instalar para obter o java. Você escolheu atualmente instalar fora do sistema de pacotes.

É mais simples usar as versões do java suportadas pelo pacote, se puder. Dessa forma, você pode simplesmente atualizar seus pacotes, em vez de precisar instalar outro JDK e alterar todos os seus ponteiros para a nova versão.

  

Em terceiro lugar, o Android Studio não consegue encontrar o JDK_HOME, mesmo que eu tenha exportado JDK_HOME = / usr / local / jdk1.8.0_65 no bashrc. O que poderia ser feito?

Neste momento, você precisa do Java 7 para desenvolver com o Android Studio. link link

    
por mattm 18.12.2015 / 19:19