问题

我想使用此链接中提到的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应用程序运行。

我需要做什么?


#1 热门回答(88 赞)

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

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

那应该是:)


#2 热门回答(61 赞)

甲骨文发布了JDK 7 for OS X


#3 热门回答(56 赞)

#Java 9,10,11

图片描述

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

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

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

  • Oracle JDK和JRE版本,带有可选的付费支持。
  • Azul Systems发布:祖鲁系列免费的JVM,可选付费支持。 Zing系列商用JVM具有特殊功能,如备用垃圾收集器。
  • OpenJDK源代码,自己编译和安装(对我们大多数人来说可能不实用)。

与此同时,IBM向Eclipse基金会捐赠了JVM代码,现在位于OpenJ9项目中。我不知道他们是否也支持macOS发布,尽管现在还为时尚早。

就个人而言,我目前正在使用Azul的Java 10.0.1在macOS High Sierra上成功地使用IntelliJ2018.2来生成Java支持的网页应用程序Vaadin

##安装/删除

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

java -version

你将在驱动器根目录下的此文件夹中找到Java安装(而不是在你的主文件夹中):

/ Library / Java / JavaVirtualMachines

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

#Java 8

你可以download the Java Development Kit (JDK)forJava 8用于supported Mac OS X的版本:

  • 山狮(10.8.3)
  • 小牛队(10.9)
  • 约塞米蒂(10.10)
  • El Capitan(10.11)

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

/Library/Java/JavaVirtualMachines

有关更多说明和常见问题,请参阅this Oracle Guide

#Java 7

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

Oracleannounced是Mac OS X(Lion)上JDK for Java SE 7 Update 4的正式版本,截至2012-04-26。此页面上没有更多需要讨论的技巧。

安装很简单perthese instructions

  • 从Oracle网站上的常用位置下载。
  • 安装DMG。
  • 运行安装程序。

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

安装之后,请阅读JDK for Mac ReadMe.最重要的是,如果你希望Java 7成为默认设置,请将其拖到Utilities文件夹中找到的Java Preferencesapp列表的顶部。

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

/Library/Java/JavaVirtualMachines

祝贺Apple和Oracle团队取得成就。看到Mac OS X被列为"Certified System Configuration",这个极客很兴奋。

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

#Java 6

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

如果你执行需要Java的操作,例如在Terminal.app中键入"java -version",则会出现一个对话框,提供为你安装Java。如果你接受,安装会自动发生,类似于Apple的其他"软件更新"。

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

/System/Library/Java/JavaVirtualMachines

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

#测试新版本

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

#删除旧版本

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

顺便说一句,Apple为开发人员提供了与OS X上的Java相关的技术问题mailing list


原文链接