Yan*_*ang 388 java macos java-7
我安装了从oracle网站下载的JDK 7u7.但安装后,终端仍然显示java版本6
$java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)
Run Code Online (Sandbox Code Playgroud)
任何想法为什么java 7没有出现?
Ans:好的,问题已经解决了.答案是:我发现我的终端有一个.bash_profile,java home变量设置为1.6
export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"
Run Code Online (Sandbox Code Playgroud)
因此,每次打开新的终端窗口时,这都会导致问题.只需删除此行即可解决问题.您仍然需要遵循@aleroot所说的内容,但如果这对您不起作用,请检查.bash_profile(或.bashrc)设置文件以查看您之前是否已导出任何Java版本.
Áko*_*kos 298
Oracle的安装程序将java放入/Library/Internet Plug-Ins/JavaAppletPlugin.plugin.并且它不会覆盖/usr/bin/java.所以,如果你发出一个
whereis java
Run Code Online (Sandbox Code Playgroud)
在终端中,它将返回/ usr/bin/java.(反过来指的/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java是Apple的1.6版本).
因此,如果您想使用新的Java版本,请替换/usr/bin/java符号链接以使其指向/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java:
sudo rm /usr/bin/java
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin
Run Code Online (Sandbox Code Playgroud)
Bra*_*nO2 114
安装JDK 7,这个问题将自行解决.
一定要获得包含编译器和类似内容的Java Development Kit(JDK),而不仅仅是Java Runtime Environment(JRE).
Uwe*_*her 104
vi ~/.bash_profile
加
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
这告诉您的/usr/bin/java链接目标使用安装的最新Java 7包
/Library/Java/JavaVirtualMachines/
所以对于JDK 1.7.0_17 JAVA_HOME来说:
/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home
注意:最近这个领域发生了很多变化,将Mac OS X从Appels自己的System集成Java包转移到基于Oracle的Java包.从Mac OS X 10.8.2开始,上述解决方案工作正常
ale*_*oot 64
因为您需要输入Java Preferences窗格并以这种方式仅标记JVM 7:

要轻松快速地打开Mac OS X中的" Java偏好设置"窗格,您只需使用⌘+调用聚光灯SPACE并键入系统偏好设置,它将显示在窗口的最后一行.
小智 56
就我而言,问题在于Oracle正在将其安装到与以前不同的位置.
从Oracle下载:http://java.com/en/download/mac_download.jsp?locale = en
通过查看System Prefs验证它是否已正确安装:
验证版本是否符合您的预期(根据需要在路径中为sub):
/ Library/Internet\Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
创建从/ usr/bin/java到新安装的链接
sudo ln -fs/Library/Internet\Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java/usr/bin/java
理智检查您的版本:
java -version
小智 33
我遇到了类似的问题,终端没有更新java版本以匹配mac上安装的版本.
设置JAVA_HOME环境变量没有问题
我想出了一个暂时的,有点痛苦但有效的解决方案.
在你.bash_profile中添加以下行:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home"
Run Code Online (Sandbox Code Playgroud)
(这是我的机器上的路径,但可能与您的路径不同,请确保获取您的路径.路径应匹配/ Library/Java/JavaVirtualMachines /)
运行 source ~/.bash_profile
正如我所提到的,这是一个临时的创可贴解决方案,因为java主路径是硬编码的.实际上没有办法设置获取最新版本的路径,因为苹果应该已经为终端做了什么,问题是Apple的java_home环境变量没有得到更新.
Tab*_*hka 27
自El Capitan以来/usr/bin/java,由于引入了新的"无根"策略,很难删除符号链接.
因此,我只是在我的文件中添加了最新java版本(在我的情况下是这样/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin)的路径:PATH.bashrc
# Use latest java version
export PATH=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
要.bashrc为当前会话重新加载文件,请source ~/.bashrc在shell中运行.您只需对更改.bashrc文件之前已启动的会话执行此操作.
现在使用最新版本,当你java在shell中使用时.
Ber*_*rer 21
对我来说,最简单,最干净的方法是使用自制软件安装Java,如下所述:
brew update
brew cask install java
Run Code Online (Sandbox Code Playgroud)
Asw*_*mar 12
基本问题:/usr/bin/java指向OSX本身最初提供的一个(/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java)我们需要将其指向JDK安装程序下载的那个.以下步骤适用于OSX 10.10.4 Yosemite.

Path并复制路径(cmd + c).这是JDK安装程序/更新程序安装的最新版本.就我而言,路径是/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaln -s系统java二进制文件指向(符号链接,命令)到最新的一个,这是我们在上一步中发现的.运行以下命令:sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java
而已.要验证,您可以java -version
在终端上运行
.它应该输出您安装/更新的最新版本.
Amu*_*yap 12
您可以在终端中执行以下命令:
export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
这将用旧的替换java旧版本.
Cli*_*der 10
我做到了
export JAVA_HOME=`/usr/libexec/java_home`
Run Code Online (Sandbox Code Playgroud)
并修复了我的Java 8问题.
之前:
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
后:
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)
http://www.java.com/en/download/faq/java_mac.xml是个理解的好地方,而Apple正在停止对Java的支持,为什么Java Preferences不再存在并且依赖于System_Preferences => Java = >如果安装了Oracle的Java 7,则为Java.
小智 7
我建议你看一下Jenv这个工具
这将允许您在已安装的JVM之间随时切换.
简单地说:
jenv global oracle-1.7
Run Code Online (Sandbox Code Playgroud)
然后用于测试目的:
jenv global oracle-1.6
Run Code Online (Sandbox Code Playgroud)
而且你有更多的命令可用.
对JAVA_HOME路径进行硬编码可能不是最好的选择.该/usr/libexec/java_home工具窗台上的Mac OSX 10.7.5狮子和JDK 1.7.0_13对我的作品.根据其手册页,它可以与Apple旧的Java Preferences窗格一起使用,但它似乎与Oracle(Java控制面板)提供的替代品一起使用.例如,运行/usr/libexec/java_home -V在我的机器上列出所有已安装的JDK(1.6.*和1.7.*).
因此,正如其他线程中所讨论的(例如,我应该在OSX上设置JAVA_HOME应该怎么做),我仍然建议在.bash_profile中添加以下行:
export JAVA_HOME=$(/usr/libexec/java_home)
Run Code Online (Sandbox Code Playgroud)
这太疯狂了!Oracle如何提供不安装任何东西的安装程序!?
无论如何对我来说是:
sudo rm /usr/bin/java
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java
Run Code Online (Sandbox Code Playgroud)
1.8.0_31是你安装的java版本...
export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
如果您的计算机上有多个Java版本,并且想要在运行时动态选择它,例如,就我而言,我有两个版本:
ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x 3 root wheel 96B Nov 16 2014 jdk1.7.0_71.jdk/
drwxr-xr-x 3 root wheel 96B Mar 1 2015 jdk1.8.0_31.jdk/
Run Code Online (Sandbox Code Playgroud)
您可以通过修改/ etc / profile内容来更改它们。只需在文件末尾添加(或修改)以下两行即可:
export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
就我而言,如果要使用它,它应该类似于以下内容:
Java 7:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
Java 8:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
保存文件后,请运行 source /etc/profile,它应该可以运行。当我相应地使用第一个和第二个选项时,结果如下:
Java 7:
java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Run Code Online (Sandbox Code Playgroud)
Java 8:
java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Run Code Online (Sandbox Code Playgroud)
如果您的java文件夹位于不同的位置,则过程类似。
| 归档时间: |
|
| 查看次数: |
327173 次 |
| 最近记录: |