问题
我想使用此链接中提到的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。