Mac OS X에서 Java는 어디에 설치되어 있습니까?


726

Mac OS 10.7.5에서 Java 7u17을 여기 에서 다운로드 한 다음 성공적으로 설치했습니다. 일부 JNI 프로그래밍을 수행하려면 Mac에서 Java가 설치된 위치를 알아야합니다.

/Library/Java/JavaVirtualMachines/폴더 안에는 폴더라는 것이 있다고 생각 1.7.0.jdk했지만 폴더가 비어 있음을 알았습니다. 이것은 ls /Library/Java/JavaVirtualMachines/터미널에서 실행함으로써 확인되었습니다 . 다른 곳에 설치되어 있는지 확인하기 위해 검색을 시도했지만 아무것도 켜지지 않는 것 같습니다.

누군가 내 Mac에서 Java가 설치된 위치를 알려주시겠습니까?


12
유권자 / 재 개설자를 마감하려면-이 질문은 주제를 벗어난 것이 아닙니다 (프로그래머가 일반적으로 사용하는 도구에 대한 질문) . 불행하게도, 그것은 meta에 의해 악몽이되었습니다 .
Rob

답변:


1384

Java 1.8 홈 디렉토리 /usr/libexec/java_home -v 1.8가 어디인지 파악하려면 터미널 쉘에서 명령을 사용하십시오.

최신 Java 버전의 홈 디렉토리를 찾으려면 해당 버전을 생략하십시오. 예 :/usr/libexec/java_home


"import java.util. *"프로그램의 첫 번째 줄에 오류가 발생하여 Mac에서 일식 오류가 발생했기 때문에이 질문에 도달했습니다. Java 경로가 올바르게 설정되지 않았기 때문에 (이전에 한 번 설정했지만) 이것이 강력하게 의심됩니다. 이 답변에 명령을 입력하고 디렉토리를 얻습니다. 해당 디렉토리를 "기본 라이브러리 폴더 구성"창의 텍스트 상자에 붙여 넣을 수 있습니까? 아니면이 디렉토리가 다른 곳에 속해 있습니까?
OKGimmeMoney

47
추가 export JAVA_HOME=`/usr/libexec/java_home`JAVA_HOME이 항상 설정되도록 .bash_profile을 위해 (참고하여 libexec 디렉토리 명령을 다시 돌아은-틱)
스티브있는 Henty

JDK가 Mac에 설치되어 있는지 알고 싶다면 버전 번호를 생략하고 터미널에서 실행하십시오. $ echo $ (/ usr / libexec / java_home)
Donato

3
Mac 10.12.3에서는 /usr/libexec/java_home -- v가장 최신 버전의 Java를 보여 주어야합니다.
klion26

116

echo $(/usr/libexec/java_home)터미널에서 명령을 사용 하여 Java가 설치되는 경로를 알 수 있습니다 .


7
이 솔루션은 설치된 JVM 버전과 독립적이므로 허용되는 답변보다 낫습니다.
Alexandre Santos

1
Oracle에 의해 설치된 Java 8 버전을 찾지 못했습니다.
앙투안 리제

13
echo $(...)거기 있습니까? 똑같이 /usr/libexec/java_home하지 않습니까?
Paŭlo Ebermann

1
수락 된 답변은 저에게 효과적이지 않았지만 이것은 효과가있었습니다! (저는 보통 맥 / 유닉스 사용자가 아닙니다)
Roel

@ PaŭloEbermann 그것은 dolar 기호와 괄호 없이는 작동하지 않습니다.
Nikola Stojaković 2016 년

80

실제로 JDK가 아닌 Java 7 JRE가 설치되어 있음이 밝혀졌습니다. 올바른 다운로드 링크는 여기에 있습니다 . 설치 후 jdk1.7.0jdkJavaVirtualMachines 디렉토리에 나타납니다.


49
나를 위해, 그것은 아래에 있었다 /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk합니다 (JDK 1.6의 경로는 것을 알고 : /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/)
리아

정말 고마워! 나는 JRE 사고 중 하나의 xD으로 설치 한 것을 통보하지 않았다
올리버 니켈

1
~ / .bash_profile에서 JAVA_HOME = $ (/ usr / libexec / java_home) 내보내기
Oleksii Kyslytsyn

35

JRE 만 설치하면 다음과 같이 보입니다.

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

1
기존에 의존해서는 안됩니다. JRE가 필요한 경우 자체 애플리케이션 내부에 번들하십시오.
swingler

공백 문자가 포함 된 경로로 JAVA_HOME을 설정하는 것은 어렵습니다! 나는 성공하지 못했습니다 ...
Antoine Rosset

이 디렉토리에 대한 링크를 생성하고 JAVA_HOME을 해당 링크로 설정할 수 있습니다
Kuba

"Java"시스템 환경 설정 패널이 설치되어있는 것입니다.
David Avendasora

2
@AntoineRosset, 당신은 이런 식으로 설정할 수 있습니다 :export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
coda

24

유닉스 찾기 기능을 사용하여 설치된 자바를 찾으십시오 ...

sudo find / -name java

19
일반적으로 액세스 가능한 명령에 대해 find를 실행하기 위해 sudo가 필요하지 않습니다. 액세스 할 수없는 디렉토리에 대한 오류 메시지를 표시하지 않으려면 불필요하게 루트 개인을 사용하지 말고 메시지를 제거하십시오. 항상 sudo를 사용하는 것은 나쁜 습관입니다. 다음과 같이 stderr를 / dev / null로 리디렉션하십시오. find / -name java 2> / dev / null
Walter Underwood

1
액세스 할 수없는 디렉토리를 너무 살펴 보려면 어떻게해야합니까?
serkan

2
Walter의 요점은 java이진 파일을 세계에서 읽을 수 있기 때문에 sudo필요하지 않다는 것입니다. 당신의 대답은 여전히 유용합니다 :)입니다
자레드 벡

예, 방금 src.zip (자바 jdk의 소스 코드)을 찾기 위해 이것을 사용했습니다
Dinis Cruz

~ / .bash_profile에서 JAVA_HOME = $ (/ usr / libexec / java_home) 내보내기
Oleksii Kyslytsyn

22

Mac OS X에서 Java 설치 경로를 찾는 쉬운 방법입니다.

이동

1) / Library, 즉 Macintosh HD / Library

여기에 이미지 설명을 입력하십시오

2) Java 폴더를 찾은 라이브러리를 클릭하십시오.

여기에 이미지 설명을 입력하십시오

3) 마지막 경로는

/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home

희망은 이것이 누군가를위한 도움입니다.


1
IDE에서 JDK를 명시 적으로 가리켜 야 할 때 매우 유용합니다. 감사합니다
Shwetabh Shekhar

나는 얼마나 조밀합니까? 터미널에 2 개의 jdk가 / Library / Java / JavaVirtualMachines /에 설치되어 있지만 파인더에서 해당 디렉토리를 탐색 할 때 찾을 수 없습니다 ... 밀도가 얼마나
SoftwareSavant

@SoftwareSavant, stackoverflow.com/a/14875241 답변을 참조하십시오 . 도움이 될 수 있습니다.
Jaywant Khedkar

19

Mac OS의 Java 패키지 구조는 Windows와 약간 다릅니다. 개발자가 바로 설정해야합니다 이에 대한 화나게하지 마십시오 PATHJAVA_HOME.

그래서 .bash_profile세트 JAVA_HOMEPATH아래에 있습니다. 이 예제는 Java 6입니다.

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export PATH=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin:$PATH

12
이것은 경로에서 다른 모든 것을 제거합니까? 시스템에서 Java 만 사용하고 다른 것은 사용하지 않는 경우에만이 작업을 수행하십시오.
Paŭlo Ebermann

~ / .bash_profile에서 JAVA_HOME = $ (/ usr / libexec / java_home)을 내 보냅니다.
Oleksii Kyslytsyn

17

입력하면

java -verbose 

이것은 또한 jar 가로 드되는 위치와 Java 경로를 제공합니다.


~ / .bash_profile에 JAVA_HOME = $ (/ usr / libexec / java_home) 내보내기를 추가했습니다.
Oleksii Kyslytsyn

8

편집 : 현재 Java 버전의 별칭은 /Library/Java/Home

자세한 정보 : 링크


이는 최신 버전의 별명으로, 설치되면 Java 7 SDK를 올바르게 가리 킵니다.
Thunderforge

1
이 링크는 레거시 목적으로 만 존재하며 Java 7을 설치해도 업데이트되지 않습니다.이 경로를 사용하지 마십시오.
swingler

~ / .bash_profile에서 내보내기 JAVA_HOME = $ (/ usr / libexec / java_home)을 업데이트했습니다.
Oleksii Kyslytsyn

8

단지 쓰기 /Library/Java/JavaVirtualMachines/
Finder에서 이동> - 폴더로 이동에


좋아, 나는 이것을 시도하고 디렉토리를 탐색 할 수 있었다. Finder에서 해당 폴더로 정상적으로 이동할 수없는 이유는 무엇입니까? 애플이 더 귀찮은가요? 또한 더 귀찮은 Gradle 버전 4.3은 Java 8을 제외한 모든 Java 버전에서 작동하지 않습니다
SoftwareSavant

~ / .bash_profile에서 JAVA_HOME = $ (/ usr / libexec / java_home) 내보내기
Oleksii Kyslytsyn

6

방금 Java SE 7 버전 21 용 JDK를 설치했으며 Apple Java 6과 다른 디렉토리에 설치되어 있음을 발견했습니다. / usr / libexec / java_home -v 1.7 대 -v 1.6을 실행하면이를 확인할 수 있습니다.


~ / .bash_profile에서 JAVA_HOME = $ (/ usr / libexec / java_home) 내보내기
Oleksii Kyslytsyn

6

serkan의 솔루션을 시도했는데 OS X Mavericks에서 java 7의 위치를 ​​찾았습니다. 그것은 존재 "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/" 하지만 기본 JDK로 만들 "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/" 려면 serkan의 아이디어 덕분 에 홈 디렉토리의 .bash_profile에서 JAVA_HOME 시스템 변수를 설정해야합니다.


~ / .bash_profile에서 JAVA_HOME = $ (/ usr / libexec / java_home)을 내 보냅니다.
Oleksii Kyslytsyn

5

:

  • OS X : 10.11.6

  • 자바 : 8

@Morrie의 답변을 확인합니다.

   export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home;

그러나 용기를 사용하면 삶이 더 쉬워집니다.


2
나는 이것이 주석 이었어 야한다고 생각한다.
Thunderforge

1
`export JAVA_HOME =`인 추가 값이 있기 때문에 생각하지 않습니다. ... 당신은 어떻습니까 @Thunderforge
Abdennour TOUMI

~ / .bash_profile에서 JAVA_HOME = $ (/ usr / libexec / java_home)을 내 보냅니다.
Oleksii Kyslytsyn


-1

시스템 환경 설정, Java 제어판, Java 및보기에는 현재 설치된 기본 JRE의 정확한 위치가 표시됩니다.


~ / .bash_profile에서 JAVA_HOME = $ (/ usr / libexec / java_home) 내보내기
Oleksii Kyslytsyn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.