Patologia do caminho: java não está mais funcionando

2

Existe algum problema com o meu caminho que interrompe meus serviços java. Os componentes parecem estar no local adequado.

$ which java
/usr/bin/java
$ which javac
/usr/bin/javac

Mas a consulta de versão não funciona mais.

$ java --version
Unable to locate an executable at "/usr/bin/javac/bin/java" (-1)
$ javac --version
Unable to locate an executable at "/usr/bin/javac/bin/javac" (-1)

Este resultado vem após um dia atarefado, instalando com MacPorts e spack.

Como isso pode ser corrigido?

Informação do sistema:
$ uname -a
Darwin ****.***.*** 16.6.0 Darwin Kernel Version 16.6.0: Fri Apr 14 16:21:16 PDT 2017; root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64

Aqui está a configuração do PATH:

$ echo $PATH
/Users/*******/****/spack/:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/TeX/texbin
    
por dantopa 21.07.2017 / 03:25

1 resposta

1

Isso não parece um problema com PATH : você está invocando o utilitário java . O problema é que o executável java do front-end não consegue encontrar o restante da instalação do Java. Acho que isso se deve à variável de ambiente JAVA_HOME , que este tópico no Stack Overflow confirma. Verifique a saída de

env | grep '^JAVA'

Se JAVA_HOME estiver definido, ele deverá ser definido para o diretório que contém os subdiretórios chamados bin e jre . Deve haver um executável $JAVA_HOME/bin/java . Normalmente, o último componente de diretório de JAVA_HOME contém a substring jdk .

Revise os locais onde as variáveis de ambiente estão definidas e corrija a configuração para JAVA_HOME . Isso pode estar em /etc/profile , ~/.profile , '' /.bash_profile ', ou em algum arquivo MacPorts ou spack que eu não conheça (veja também Como defino variáveis de ambiente no OS X? ).

    
por 22.07.2017 / 00:39