[java] Mac OS X 용 Java JDK 7 설치 후-mvn -version에 여전히 Java 버전 1.6.0_31이 표시됨

Oracle은 4 월 26 일 Mac OS X 용 Java JDK 7을 출시했습니다. 설치 지침을 따랐고 터미널 창에서 java -version을 수행하면 다음과 같은 결과가 나타납니다.

java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)

그러나 mvn -version터미널 창에서 수행 하면 다음과 같은 결과가 나타납니다.

Apache Maven 3.0.2 (r1056850; 2011-01-08 18:58:10-0600)
Java version: 1.6.0_31, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.7.3", arch: "x86_64", family: "mac"

Maven이 Java JDK 1.7.0_04를 사용하도록하려면 어떻게해야합니까?

도와 주셔서 감사합니다.



답변

마침내 여기에서 답을 찾았습니다.

http://www.adam-bien.com/roller/abien/entry/java_se_development_kit_7

당신은 사용해야 JAVA_HOME=$(/usr/libexec/java_home)Mac에서 대신하고 “자바 Preferences.app”를 통해 현재의 JDK를 설정합니다.

~ / .profile에 JAVA_HOME 설정


답변

문제는 JavaVm.framework 버전 내의 심볼릭 링크 “CurrentJDK”가 이전 jdk를 가리키고 있으므로 다음 명령을 사용하여 CurrentJDK를 최신 버전 (1.7.0_45)으로 설정하면 작동합니다.

cd /System/Library/Frameworks/JavaVM.framework/Versions
sudo rm CurrentJDK
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents CurrentJDK

참조 : http://java.dzone.com/articles/installing-jdk-7-mac-os-x


답변

Java 환경 설정에서 경로를 찾으려면 다음을 시도하십시오.
/usr/libexec/java_home -X

내 Java7 항목은 다음과 같습니다.

<dict>
    <key>JVMArch</key>
    <string>x86_64</string>
    <key>JVMBundleID</key>
    <string>com.oracle.java.7u04.jdk</string>
    <key>JVMEnabled</key>
    <true/>
    <key>JVMHomePath</key>
    <string>/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home</string>
    <key>JVMIsBuiltIn</key>
    <false/>
    <key>JVMName</key>
    <string>Java SE 7</string>
    <key>JVMPlatformVersion</key>
    <string>1.7</string>
    <key>JVMVendor</key>
    <string>Oracle Corporation</string>
    <key>JVMVersion</key>
    <string>1.7.0_04</string>
</dict>


답변

JAVA_HOME환경 변수를 새 JDK 1.7 위치 로 변경해야합니다 .

JAVA_HOME이 정의 될 수있는 가능한 위치 는 이 질문 을 참조하십시오. 터미널에 입력 which java하여 Java 설치 경로를 찾은 다음 JAVA_HOME해당 경로를 가리 키도록 업데이트 합니다 (그러나 후행 bin 폴더는 제외).


답변

누군가가 Mac OSX ‘Mavericks’를 실행하는 64 비트 Mac에 Maven을 설치하는 경우 시간을 절약하고 Maven을 설치하려고하는 머리카락을 잡아 당기십시오. 나는 이것을 따르려고 노력했다 (java_home의 위치가 Mavericks에서 변경 되었기 때문에 실패했습니다.

http://maven.apache.org/download.cgi

이 웹 사이트를 찾을 때까지 머리카락을 뽑아 내고 있었는데,이 웹 사이트는 homebrew를 설치하고이 페이지의 지침을 따르도록 권장합니다 : http://techspunky.blogspot.in/2013/10/how-to-install-maven-on-mac -osx-109.html

완료되면 $ maven -version이 작동하지 않을 때 당황하지 말고 대신 maven.apache.org/download.cgi가 권장하는대로 $ mvn –version을 사용하십시오.

작동했지만 Maven이 사용하고있는 Java SDK가 시스템에 설치된 최신 SDK가 아닌 Java 버전 : 1.6.0_65라는 것을 알았습니다.

JAVA_HOME =을 설정하면/usr/libexec/java_home

올바른 SDK를 사용하고있었습니다 : Maven 홈 : /usr/local/Cellar/maven/3.1.1/libexec Java 버전 : 1.7.0_45, 공급 업체 : Oracle Corporation Java 홈 : /Library/Java/JavaVirtualMachines/jdk1.7.0_45. jdk / Contents / Home / jre 기본 로케일 : en_US, 플랫폼 인코딩 : UTF-8 OS 이름 : “mac os x”, 버전 : “10.9”, arch : “x86_64”, 제품군 : “mac”

성공! 하지만 기다려 … 다음에 터미널을 열고 mvn -v를 실행하면 Java 버전 1.6으로 돌아갔습니다. WTH!

내가 읽은 어떤 종류의 추정 버그 사용 : echo JAVA_HOME = /usr/libexec/java_home -v 1.7| sudo tee -a / etc / mavenrc

그리고 지금:

Maven 홈 : /usr/local/Cellar/maven/3.1.1/libexec Java 버전 : 1.7.0_45, 공급 업체 : Oracle Corporation Java 홈 : /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre 기본 로케일 : en_US, 플랫폼 인코딩 : UTF-8 OS 이름 : “mac os x”, 버전 : “10.9”, arch : “x86_64”, 제품군 : “mac”


답변

Maven이 여전히 Java 6을 사용하는 이유는이를 실행하는 / usr / bin / mvn 스크립트가 Java 환경 설정에 지정된 현재 Java 버전을 확인하는 데 올바른 OS / X 방법을 사용하지 않기 때문입니다. 자세한 내용은이 Maven 문제를 참조하세요.

http://jira.codehaus.org/browse/MNG-4226

투표하면 문제가 해결 될 수 있습니다. 그 동안 해당 문제에 대한 주석 및 패치에 표시된대로 / usr / bin / mvn 스크립트를 변경하면 원하는 결과를 얻을 수 있습니다.


답변

내 컴퓨터에서 좋아. 예, Oracle 설치 프로그램은 정확히 작업을 수행하지 않았고 1.6이 계속 실행 된 후에도 끝이 없다는 혼란 스러웠습니다.

java run time was updated

java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

하지만 SDK HOME은 실제로 여전히 1.6을 가리키는 sim 링크입니다.

/Library/Java/Home Finder에서 GetInfo는 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

터미널에서

./Home -> /System/Library/Frameworks/JavaVM.framework/Home

그림을 이동.

여기서 1.7을 찾았고이를 사용하여 다음과 같이 빌드합니다. /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home