如何在Mac OSX上使用JDK 7?

我想使用这个链接中提到的WatchService API: http : //download.oracle.com/javase/tutorial/essential/io/notification.html

经过阅读后,我发现WatchService是计划用于JDK 7的NIO类的一部分。因此,它是beta版本。 没关系。

http://jdk7.java.net/download.html有我下载和提取的JDK。 我有一堆文件夹。 我不知道该怎么办

然后,我再读一遍,发现一些很好的人创build了JDK 7作为一个二进制文件,所以像我这样的人可以很容易地安装它。 它被称为Open JDK: http : //code.google.com/p/openjdk-osx-build/

所以,我下载了.dmg文件并安装它。 然后我打开“Java偏好”,看看OpenJDK7是可用的。

所以,现在我觉得我可以开始尝试WatchService API了。 从第一个链接的教程中,作者给了一个.java文件来先testing它,并确保它正在运行。 以下是该文件的链接: http : //download.oracle.com/javase/tutorial/essential/io/examples/WatchDir.java

所以,我启动Eclipse(实际上我使用STS)并创build一个新的Java项目,并在“使用执行环境JRE:”中selectJaveSE-1.7。 在src文件夹下,我复制粘贴WatchDir.java文件。

而且我仍然看到很多弯曲的红线。 所有的“import.java.nio。*”都是红色的,我不能运行它作为一个Java应用程序。

我需要做什么?

编辑:我其实没有追求使用Java 7,但有很多的兴趣,似乎人们不断回答这个问题。 我应该怎样做才能使它与search它的人更相关? 让我知道通过PMing我。

甲骨文已经发布了OS X的JDK 7 。

这是我得到1.7如何与Eclipse一起工作。 我希望它有帮助。

  1. 我从http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html从Mac OS / X分支下载了最新的OpenJDK 1.7通用(32/64位)JDK
  2. 将jdk复制到默认的1.6.0版本的/ Library / Java / JavaVirtualMachines /下
  3. 在Eclipse> Preferences> Java> Installed JRE中添加一个新types的MacOS X VM,并将其设置为/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home并命名为Java SE 7(OpenJDK)
  4. 点击完成
  5. 将添加的JRE设置为默认值

这应该是:)

Java 8

您可以下载适用于支持的Mac OS X版本的Java 8 的Java Development Kit(JDK) :

  • 山狮(10.8.3+)
  • 小牛(10.9)
  • 优胜美地(10.10)
  • El Capitan(10.11)

您可以在此处find您安装的每个JVM版本:

 /Library/Java/JavaVirtualMachines 

有关更多说明和常见问题,请参阅此Oracle指南 。

Java 7

对于自Update 4以来的每个Java 7版本,Mac版本已经与其他平台一起准备就绪。 在Lion(10.7.3+),Mountain Lion(10.8.3+)和Mavericks(10.9.x)上使用64位硬件的Mac上运行。

Oracle 于 2012年4月26日发布了在Mac OS X(Lion)上正式发布的JDK for Java SE 7 Update 4。 没有更多的需要在这个页面上讨论的技巧

按照这些说明进行安装很简单:

  1. 从Oracle网站上通常的地方下载。
  2. 安装DMG。
  3. 运行安装程序。

这个版本有一些限制,最显着的是缺乏对Java Web Start和用于Web浏览器的Java插件的支持。 预计今年晚些时候会有这种支持。

安装完成后,请阅读JDK for Mac自述文件。 最重要的是,如果您希望将Java 7作为默认设置,请将其拖到您的Utilities文件夹中的Java Preferences应用程序列表的顶部。

Mac OS X轻松同时支持多个JVM。 现在在这里find每个:

 /Library/Java/JavaVirtualMachines 

恭喜Apple&Oracle团队取得成就。 这个怪胎得到一个快速的看到Mac OS X列为“ authentication系统configuration ”。

提示:要在仅安装了Java 7的Mac上启动Eclipse ,请打开名为eclipse的别名文件,而不是名为Eclipse.app的文件。

Java 6

Apple继续通过Mountain Lion为所有版本的Mac OS X提供Java 6的最新实现。

如果你做了一些需要Java的东西,比如在Terminal.app中input“java -version”,会出现一个对话框,提供给你安装Java。 如果您接受,安装将自动进行,类似于Apple提供的其他“软件更新”。

您会发现Java安装在这个位置,与Java 7和8不同:

 /System/Library/Java/JavaVirtualMachines 

自2013-02以来,Java 6已经与Oracle 达成了生命周期(除非您与Oracle签有商业支持协议)。 所以你应该转向Java 7或8。

testing新版本

在Terminal.app中,键入java -version来validation哪个版本是当前的默认值。

删除旧版本

在安装新版本之后,您可能需要访问上述文件夹以删除旧版本。 将文件夹移到垃圾箱,并提供您的系统密码完成移动。


顺便说一句,苹果公司提供了一个邮件列表,为开发人员在OS X上的Java技术问题。

在Mac上安装Java 7的简单方法是使用Homebrew ,感谢Homebrew Cask插件(现在默认安装)。

运行此命令来安装Java 7:

 brew cask install caskroom/versions/java7 

我知道有些人可能想要重新打开旧post,但如果你觉得这样做,我只是希望这可能会帮助别人尝试在Mac OS上设置JDK 7(使用IntelliJ)。

我所做的是在我的机器上工作是:

  • 遵循Oracle JDK7 Mac OS X端口上的说明进行常规安装
  • 在IntelliJ打开/创build新的项目,所以你可以添加新的SDK(文件>项目结构)
  • select平台设置> SDKs,按“+”(加号)添加新的SDK
  • selectJSDK并导航到/ Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home。 不要误解/ Users / YOUR_USERNAME / Library / Java / 。 这将从“lib”目录(dt.jar,jconsole.jar,sa-jdi.jar和tools.jar)链接4个JAR,
  • 您还需要从/ Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home / jre / lib中添加JARs(charsets.jar,jce.jar,JObjC.jar,jsse.jar,management-agent .jar,resources.jar和rt.jar)

您可能还需要将JDK添加到Eclipse(STS)中。 仅仅因为JDK在系统上,并不意味着Eclipse知道在哪里find它。

转到首选项> Java>已安装的JRE

如果没有1.7 JDK的条目,添加它。 您必须将Eclipse指向您安装1.7 JDK的位置。

如果Eclipse找不到1.7兼容的JRE,我猜测它只是使用默认的JRE,这可能仍然指向Java 1.6,这将导致你的红色波浪线。

从oracle安装1.7jdk后,我改变了我的bash脚本添加:

 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home 

然后运行java -version显示正确的版本。

得到木桶

 brew tap caskroom/cask 

安装java7:

 brew tap caskroom/versions brew cask install java7 

(我很难findoracle网站上的java7的下载链接,因为他们只是“推荐”java8)

Netbeans怎么样,这里是一篇关于如何使用NB7设置的文章:

http://netbeanside61.blogspot.com/2011/06/downloading-openjdk7-binary-for-mac-os.html

也许类似的Eclipse的步骤。

截至4月27日, Oracle SE 7u4正式发布。 下载磁盘映像并运行安装程序 – 然后查看Mac自述文件 。

由peter_budo的指示完美地工作。 我不得不在/ Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home / jre / lib /下添加jar到我的IntelliJ项目库。 现在它像一个魅力。 请注意,我不需要我的IDE本身在1.7下运行; 相反,我只需要能够对1.7的编译和运行。 我很可能会继续使用Apple的JRE来运行IDE,因为它可能比graphics例程更稳定(Swing,AWT)。 和OP一样,我非常热衷于testing新的NIO2 API。 目前看起来不错。 谢谢,彼得。

Lion上的工作是从Oracle安装JDK7_u17,然后编辑〜/ .bash_profile包含:export JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.7.0_13.jdk / Contents / Home

我更新到优胜美地和Android Studio不会清理我的项目或在虚拟或真实设备上运行它们,因为以下错误:

 Failed to complete Gradle execution.Cause:Supplied javaHome is not a valid folder. You supplied: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 

经过一番研究和解决之后,我发现在“/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home”指向的JDK文件不存在; 所有的“JavaVirtualMachines / 1.6.0.jdk / Contents / Home”在“/ System / Library / Java”中都没有。 所以,我把“JavaVirtualMachines / 1.6.0.jdk / Contents / Home”从“/ Library / Java /”复制到“/ System / Library / Java / 我又回来了