如何在Mac OSX上使用JDK 7?

时间:2011-06-07 15:12:21

标签: macos java java-7

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

在阅读之后,我发现WatchService是NIO类的一部分,它是为JDK 7安排的。所以,它是测试版。没关系。

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

然后,我读了一些更多内容,发现一些不错的人创建了JDK 7作为二进制文件,所以像我这样的人可以轻松地安装它。它被称为Open JDK: http://code.google.com/p/openjdk-osx-build/

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

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

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

我仍然看到大量波浪形的红线。所有“import.java.nio。*”都是红色的,我无法将其作为Java应用程序运行。

我需要做什么?

16 个答案:

答案 0 :(得分:88)

这就是我使用Eclipse的1.7。我希望它有所帮助。

  1. 我下载了最新的OpenJDK 1.7通用(32/64位)JDK 来自http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
  2. 的Mac OS / X分支
  3. 将jdk复制到/ Library / Java / JavaVirtualMachines /旁边 默认1.6.0一
  4. 在Eclipse中>偏好> Java>已安装的JRE,您添加了一个类型为MacOS X VM的新JRE,并将该主目录设置为/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home和 命名Java SE 7(OpenJDK)
  5. 点击完成
  6. 将添加的JRE设置为默认值
  7. 应该是它:)

答案 1 :(得分:61)

Oracle发布了JDK 7 for OS X

答案 2 :(得分:56)

Java 9,10,11

多年前,Apple加入了OpenJDK项目,将其以前专有的macOS特定JVM代码转换为免费的开源代码。 Apple停止发行他们自己品牌的JVM / JDK,依靠Oracle的品牌版本来包含macOS版本。

甲骨文最近宣布,他们打算将他们的甲骨文品牌JVM版本与OpenJDK项目进行特征识别,几乎完全相同的代码库。该公司甚至捐赠了他们以前的商业工具Flight Recorder& Mission Control,OpenJDK项目。这是向Java和OpenJDK的可预测版本化版本的新快速“发布列车”计划的转变的一部分。值得注意的是,现在缩短了免费公共更新的期限。请参阅this 2017-09 announcementthis posting by Mark Reinhold

由于这一切,Java的macOS用户可以选择Java实现的供应商。此时,至少有三个源基于OpenJDK for macOS:

    JDK和JRE的
  • Oracle releases,可选的付费支持。
  • Azul Systems发布:
    • Zulu一系列免费的JVM,带有可选的付费支持。
    • Zing具有特殊功能的商业JVM系列,例如备用垃圾收集器。
  • OpenJDK source code,滚动你自己的编辑&安装(对我们大多数人来说可能不实用)。

与此同时,IBM向JVM捐赠了一个JVM代码,现在位于OpenJ9项目中。我想知道他们是否也支持macOS版本,但现在还为时过早。

就我个人而言,我目前正在成功地使用IntelliJ 2018.2在macOS High Sierra上使用来自Azul的Java 10.0.1的 Zulu 版本来生成{{3}的Java支持的Web应用程序}。

安装/拆卸

Oracle和Azul都提供了非常易于使用的安装程序,可以在Mac上安装JVM / JDK。使用Terminal.app(或等效的)键入并运行以验证您的安装:

java -version

您可以在驱动器根目录下找到此文件夹中的Java安装(不在您的主文件夹中):

  

/库/爪哇/ JavaVirtualMachines

在标记的嵌套文件夹中找到每个供应商的每个版本。您只需删除该版本的嵌套文件夹并在提示时提供系统密码即可删除任何安装。

Java 8

对于Vaadin版本的Mac OS X,download the Java Development Kit (JDK)可以Java 8

  • Mountain Lion(10.8.3+)
  • 小牛队(10.9)
  • 约塞米蒂(10.10)
  • El Capitan(10.11)

您安装的每个JVM版本都可以在此处找到:

/Library/Java/JavaVirtualMachines

有关更多说明和常见问题解答,请参阅supported

Java 7

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

Oracle Java 7 Mac OS X(Lion)上JDK for Java SE 7 Update 4的正式版本,截至2012-04-26。 不再需要本页讨论的技巧

根据announced安装很简单:

  1. 从Oracle网站上的these instructions下载。
  2. 安装DMG。
  3. 运行安装程序。
  4. 此版本有一些限制,最明显的是缺少对the usual place和Web浏览器 Java插件的支持。预计今年晚些时候会有这种支持。

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

    Mac OS X可轻松同时支持多个JVM。现在每个人都可以在这里找到:

    /Library/Java/JavaVirtualMachines
    

    祝贺Apple& Oracle团队的成就。这个极客看到Mac OS X被列为" JDK for Mac ReadMe."。

    提示:要在仅安装了Java 7的Mac上启动Certified System Configuration,请打开名为 eclipse Eclipse文件,而不是名为 Eclipse.app <的文件/ em>的

    Java 6

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

    如果你做了一些需要Java的东西,比如type&#34; java -version&#34;在Terminal.app中,会出现一个对话框,提供为您安装Java。如果您接受,安装会自动发生,类似于其他&#34;软件更新&#34;来自Apple。

    你会发现Java安装在这个位置,不同于Java 7&amp; 8:

    /System/Library/Java/JavaVirtualMachines
    

    截至2013-02,Java 6与Oracle有alias(除非您与Oracle签订了商业支持协议)。所以你应该转向Java 7或8。

    测试新版本

    在Terminal.app中,键入java -version以验证哪个版本是当前默认值。

    删除旧版本

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


    顺便说一下,Apple为OS X上与Java相关的技术问题提供了reached end-of-life

答案 3 :(得分:17)

在Mac上安装Java 7的一种简单方法是使用Homebrew,这要归功于Homebrew Cask插件(现在默认安装)。

运行此命令以安装Java 7:

brew cask install caskroom/versions/java7

答案 4 :(得分:9)

我知道有些人可能会想要重新打开旧帖子,但如果您这样做我只希望这可以帮助其他人尝试在Mac OS上设置JDK 7(使用IntelliJ)。

我在机器上工作的方法是:

  • 按照Oracle JDK7 Mac OS X Port上的说明进行常规安装
  • 在IntelliJ中打开/创建新项目,以便您可以添加新的SDK(文件&gt;项目结构)
  • 选择平台设置&gt; SDK,按“+”(加号)符号添加新SDK
  • 选择JSDK并导航到/ 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(charsets.jar,jce.jar,JObjC.jar,jsse.jar)添加JAR。 management-agent.jar,resources.jar和rt.jar)

答案 5 :(得分:7)

获取木桶

brew tap caskroom/cask

安装java7:

brew tap caskroom/versions
brew cask install java7

(我很难在oracle网站上找到java7的下载链接,因为他们只是&#34;推荐&#34; java8)

2018年1月编辑 (正如Ankur指出):

使用zulu7桶。 Zulu是由Azul Systems生产的OpenJDK认证版本,应该存在很长时间(它们甚至还提供JDK6版本)。

brew cask install caskroom/versions/zulu7

答案 6 :(得分:6)

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

转到 偏好&gt; Java&gt;已安装的JRE

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

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

答案 7 :(得分:6)

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

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

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

答案 8 :(得分:2)

Netbeans怎么样,这是一篇如何用NB7设置它的文章:

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

Eclipse的步骤可能类似。

答案 9 :(得分:2)

截至4月27日,有offical Oracle release of Java SE 7u4.下载磁盘映像并运行安装程序 - 然后查看Mac readme

答案 10 :(得分:1)

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,因为它在图形例程(Swing,AWT)方面可能更稳定。和OP一样,我非常热衷于测试新的NIO2 API。到目前为止看起来不错谢谢,彼得。

答案 11 :(得分:1)

Lion对我有用的是从Oracle安装JDK7_u17,然后编辑〜/ .bash_profile包括:     export JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.7.0_13.jdk / Contents / Home

答案 12 :(得分:1)

截至2017年12月,以前发布的链接不起作用,但仍可从Oracle Archives下载JDK 7(需要登录):

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

答案 13 :(得分:1)

我需要调整 @abe312 的答案,因为最近 brew 发生了一些变化。

我通过运行安装了 zulu7 并设置了 JAVA_HOME:

brew install --cask homebrew/cask-versions/zulu7
echo "export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-7.jdk/Contents/Home" >> ~/.zshrc

我必须输入密码才能安装 zulu7。如果您使用不同的 shell,则可能需要修改最后一个命令。

答案 14 :(得分:0)

我更新了Yosemite,由于以下错误,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文件不存在; “/ System / Library / Java”中缺少所有“JavaVirtualMachines / 1.6.0.jdk / Contents / Home”。所以,我将“JavaVirtualMachines / 1.6.0.jdk / Contents / Home”从“/ Library / Java /”复制到“/ System / Library / Java /”和cha ching!我又回来了。

答案 15 :(得分:0)

现在,使用命令

2020年更新:04

要通过自制程序安装Java7,请执行以下操作:

brew tap homebrew/cask-versions
brew cask install java7

希望获得帮助。