내 경로에 Java 서비스가 중단되는 몇 가지 문제가 있습니다. 구성 요소가 올바른 위치에 있는 것 같습니다.
$ which java
/usr/bin/java
$ which javac
/usr/bin/javac
그러나 버전 쿼리가 더 이상 작동하지 않습니다.
$ 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)
이것은 MacPorts와 Spack을 설치하느라 바쁜 하루를 보낸 후의 모습입니다.
이 문제를 어떻게 해결하나요?
시스템 메시지:
$ 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
경로 설정은 다음과 같습니다.
$ 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
답변1
이것은 문제가 되지 않는 것 같습니다 PATH
. java
유틸리티를 호출하고 있는 것입니다. 문제는 프런트 엔드 java
실행 파일이 Java 설치의 나머지 부분을 찾을 수 없다는 것입니다. JAVA_HOME
환경변수 때문인거 같아요스택 오버플로에 대한 이 게시물확인하다. 출력을 확인하세요
env | grep '^JAVA'
설정된 경우 및 라는 하위 디렉터리가 포함된 디렉터리 JAVA_HOME
로 설정되어야 합니다 . 실행 파일이 있어야 합니다 . 일반적으로 마지막 디렉토리 부분에는 하위 문자열이 포함됩니다 .bin
jre
$JAVA_HOME/bin/java
JAVA_HOME
jdk
환경 변수가 설정된 위치를 확인하고 수정하세요 JAVA_HOME
. 이는 /.bash_profile 또는 내가 모르는 일부 MacPorts 또는 sppack 파일 /etc/profile
에 있을 수 있습니다(참조).~/.profile
OS X에서 환경 변수를 설정하는 방법은 무엇입니까?).