não pode definir JAVA_HOME

0

Estou executando o Linux Mint Quiana. Eu quero rodar o Android Studio e isso me requer Java. Como eu precisava do NetBeans, decidi instalar o NetBeans com o pacote Java 8 do site da Oracle. Eu tentei por dias para definir a variável de ambiente JAVA_HOME, mas sem sucesso. Depois de inúmeras tentativas e páginas web de soluções lidas. Eu tentei o seguinte:

  1. export JAVA_HOME = / usr / local / jdk1.8.0_20 (O local onde o JAva parece estar instalado)
  2. JAVA_HOME = / usr / local / jdk1.8.0_20 - sem a parte de exportação e consultado echo $ JAVA_HOME de outra janela do terminal, mas ainda não mostra nada.
  3. Eu tentei modificar o / etc / environment e adicionar a linha acima, mas sem sucesso algum. E eu também tentei editar o arquivo / etc / profile, mas nada funcionou. (sem sucesso, quero dizer que a variável não foi definida)

Eu realmente não sei o que há com isso, mas parece muito complicado para o que deveria ser um simples comando no shell.

Quando eu digito:

  1. update-alternatives --query java não recebo nada
  2. java -version eu recebo:

    O programa 'java' pode ser encontrado nos seguintes pacotes:

    • default-jre
    • gcj-4.8-jre-headless
    • openjdk-7-jre-headless
    • gcj-4.6-jre-headless
    • openjdk-6-jre-headless Tente: sudo apt-get install O que parece estúpido para mim desde que eu posso compilar coisas com netbeans e isso significa que o JDK está instalado corretamente em algum lugar
  3. which java não me diz nada

Espero que isto seja informação suficiente para resolver o meu problema.

    
por Edeph 11.09.2014 / 22:25

2 respostas

1

  • As definições de variáveis em uma janela de terminal não estão no escopo de outras janelas de terminal. Para definir uma variável em todas as janelas do terminal, você precisa adicioná-la a um arquivo de configuração do shell. Normalmente, isso será ~/.bashrc , sendo o Bash o shell padrão na maioria das distros. Você pode adicionar uma linha como export JAVA_HOME=/some/path para tornar a variável JAVA_HOME disponível para todos os shells e scripts correr nessas conchas. (Ele só está disponível em shells abertos após salvar ~/.bashrc ; se você quiser que ele esteja disponível em um terminal já aberto, simplesmente execute exec "$SHELL" para reiniciar seu shell.
  • which java procura um executável chamado java nos caminhos separados por dois pontos contidos no PATH variável, não importa qual seja o valor de JAVA_HOME .
  • JAVA_HOME é usado por aplicativos Java , não pelo shell ou pelo terminal. A Oracle descreve como:

    An environment variable used to trigger the 'java' found in your PATH to use a different JDK image. Unfortunately, not all 'java' startup scripts obey this env variable. It's also used by many java tool startup scripts to determine what 'java' to run, bypassing the 'java' found in the PATH setting. Setting this variable during a JDK build is a bad idea, don't do it.

  • A dica sobre java estar disponível em vários pacotes significa que o diretório do executável java (provavelmente /usr/local/jdk1.8.0_20/bin no seu caso) não está na variável PATH e pode ser instalado a partir dos pacotes de distribuição listado. Você precisará adicionar o diretório à variável PATH como export PATH="$PATH"':/usr/local/jdk1.8.0_20/bin' em um arquivo de inicialização do shell, como acima.

Isso esclarece as coisas?

    
por 11.09.2014 / 23:00
0

Em vez de usar a versão Java fornecida com o NetBeans no site da Oracle, depois de pesquisar um pouco mais, consegui encontrar esta resposta que resolveu o problema em nenhum momento.

    
por 13.09.2014 / 17:50