我想安装一个特定的JDK(例如最新的)。为此,我去了JDK下载主页:http://java.sun.com/javase/downloads/index.jsp。 我找了一个Mac版本,但我只是看到Linux,Windows和Solaris的可下载版本有点惊讶......
以下是Mac的消息:
“Apple Computer提供他们自己的Java版本。使用该软件 更新功能(Apple菜单上提供)以检查您的身份 适用于Mac的最新版Java。“
OK但是 ...当我用Mac更新Java时,我有JRE而不是JDK ...
我不明白为什么JDK版本不存在易于下载/可安装(如解压缩的jar?)for Mac ...
答案 0 :(得分:44)
在@ Thilo回答的评论中,@ mobibob询问如何在Mac上的.bash_profile中设置JAVA_HOME。回答:
export JAVA_HOME=`/usr/libexec/java_home`
这将动态地为JAVA_HOME分配“Java首选项”实用程序的“常规”选项卡中列出的第一个JDK的位置。
请参阅Apple Technical Q& A 1170:https://developer.apple.com/library/content/qa/qa1170/_index.html
编辑:
如果您更喜欢使用括号来反对命令替换,那么这也有效:
export JAVA_HOME=$(/usr/libexec/java_home)
答案 1 :(得分:20)
正如消息所说,你必须在Apple上使用Apple,而不是Sun,以获取Java。据我所知,Apple JDK 6默认安装在Mac OS X 10.6(Snow Leopard)上。也许您需要从Mac OS X安装DVD安装开发人员工具(开发工具是OS DVD中的可选安装)。
请参阅:http://developer.apple.com/java/
注意 2009年10月16日的答案现已过时;您现在可以从Oracle网站上的常规JDK download page获取适用于Mac OS X的JDK。
答案 2 :(得分:10)
我昨天买了一台MacBook Pro(Mac OS X v10.8(Mountain Lion)),默认情况下没有安装JDK ......
除了javac之外,我还发现它没有安装SVN等软件包。事实证明,您可以从Apple developer page获得所有内容(您需要在AppleID中注册)。 SVN是“命令行工具”包的一部分。
这是在新MacBook上发生的事情:
希望这会帮助像我这样的其他新手;)
答案 3 :(得分:10)
答案 4 :(得分:4)
Mac附带JDK,有关详细信息,请查看:
答案 5 :(得分:4)
最简单的方法是使用Homebrew。 安装Homebrew然后:
brew tap caskroom/versions
brew cask install java7
您可以使用以下命令列出所有可用版本:
brew cask search java
答案 6 :(得分:4)
解释是JDK有点特定,不包含库tools.jar 。对于我的开发,我需要这个库,Mac的JDK不提供它:
tools.jar不存在。通常位于此处的类包含在classes.jar中。依赖于tools.jar存在的脚本需要相应地重写。
太糟糕了!
答案 7 :(得分:3)
使用-source 1.5 -target 1.5进行编译(在JDK 6环境中)将仅使用1.5及之前的语言元素。大。但无论如何,6中没有语言变化。这种方法的问题(在Mac上使用1.6)是使用AFTER 1.5之后的类仍然会编译,因为它们存在于rt.jar中。因此,可以在1.5 env中运行并获得未找到类的异常,而在编译时没有预先警告。我用javax.swing.event.RowSorterEvent / Listener发现了这个问题。两者都进入“自1.6以来”但未被-source 1.5
捕获答案 8 :(得分:3)
从Mac OS X v10.6(Snow Leopard)开始,您可以在32位或64位Intel处理器配备的Mac上以32位模式运行Java 6。
如果无法升级到Snow Leopard,Soy Latte是适用于Intel 32位的Java 6的预编译版本。
答案 9 :(得分:3)
在一个Mac OS X系统上拥有多个版本的Java(Apple自己的Java 6和Oracle JDK 7甚至8个版本),并为不同的应用程序使用不同的版本,存在各种棘手的问题。我花了一些时间写下my experience of installing and configuring various versions of JDK on Mac OS X 10.9.2的经验。
答案 10 :(得分:3)
如果你安装了brew,下面的cmd会很有帮助:
brew cask install java
答案 11 :(得分:1)
我认为其他Stack Overflow问题可能有所帮助:
How to get JDK 1.5 on Mac OS X
它基本上说如果你需要使用旧版本的JDK编译或执行Java应用程序(例如1.4或1.5),你可以使用1.6来实现它,因为它是向后兼容的。为此,您需要在javac选项或IDE中添加参数-source 1.5
和/或-target 1.5
。
答案 12 :(得分:1)
JDK是Java Development Kit(用于开发Java软件)。
JRE是Java运行时环境(用于运行任何.jar文件' Java软件')。
JDK里面包含一个JRE。
在Windows上更新Java时,它会自动更新JRE。
在Mac上,你没有JRE分开,但是在JDK中,所以当你更新Java时,它会更新你JDK里面的JRE; 它没有为您安装JDK。你需要从其他地方获得它。
答案 13 :(得分:1)
答案 14 :(得分:1)
由于大多数答案都已过期,因此以下假设是截至2018年底的有效方法
在这种情况下,请从Oracle GPLv2 OpenJDK site或AdoptOpenJDK中获取所需的版本(本人尚未测试)。在下面,我假设Mac的版本为11.0.1。然后在您最喜欢的外壳中进行操作:
tar -xzf openjdk-11.0.1_osx-x64_bin.tar.gz
sudo mv jdk-11.0.1.jdk /Library/Java/JavaVirtualMachines
# Fix owner and group
sudo chown -R root:wheel /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk
# (Optional) Check if the new JDK can be found
/usr/libexec/java_home
=> /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
[0]请注意,Oracle品牌的JDK具有significant licensing restrictions,使您可以基本上仅将其用于测试,即不能用于生产。如果您与Oracle没有支持协议,那么对我来说使用他们的JDK似乎很冒险,尤其是从differences to OpenJDK are minimal开始。
答案 15 :(得分:0)
通常,您无法在Mac上安装其他版本的Java,而不是Apple通过软件更新提供的版本。如果您需要Java 6,则必须具有64位Intel计算机。如果您至少拥有OS X 10.4,则应始终安装Java 5和1.4以及1.3。
如果您有非常多的肘部油脂,并且愿意使用测试版软件,您可以在OS X下安装OpenJDK,但我认为您不想去那里。
答案 16 :(得分:0)
brew
brew install openjdk@11
您将在这里找到您的 JDK:
/usr/local/opt/openjdk@11