Установил Java SE 7u10, все еще сижу 7u10ea на OS X?
Когда я печатаю java -version
Я все еще получаю версию раннего доступа, а не стабильную JDK 7u10. пожалуйста, как это исправить? Я работаю на Mac OS X Mountain Lion.
ls /System/Library/Frameworks/JavaVM.framework/Versions
- 1.5.0
- 1,6
- 1.6.0
- А <-?
- Ток <-?
- CurrentJDK <-?
Что за ? стоит, пожалуйста?
/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
1.7.0_10, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
1.6.0_37-b06-434, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_37-b06-434, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
Проблема в java -version
-> java version "1.7.0_10-ea"
EA!
Худшее что /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/bin/java -version
покажи мне советник.
1 ответ
1.7 JDK не входят в /System/Library/Frameworks
они идут в /Library/Java/JavaVirtualMachines
, Когда ты бежишь /usr/bin/java
он выбирает соответствующую установку Java для использования
- Если у тебя есть
JAVA_HOME
переменная окружения установлена, тогда она будет использовать эту версию - в противном случае он выберет "лучший" установленный JDK из доступных в
/Library/Java/JavaVirtualMachines
а также/System/Library/Java/JavaVirtualMachines
, Вы можете запустить/usr/libexec/java_home
чтобы увидеть, какой из них система считает "лучшим".
Конечно, если вы добавили вручную /Library/Java/JavaVirtualMachines/<something>/Contents/Home/bin
на ваш PATH
впереди /usr/bin
затем java
будет означать, что конкретная версия, а не выбранная системой. Вы можете проверить это, запустив which java
,
Чтобы усложнить ситуацию, есть еще одна копия JRE в /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
, который используется для плагинов браузера и в стиле 1,7 .app
связки, которые не встраивают свою собственную JRE.