我们经常需要在Mac中用到多个版本的JDK,6 在Apple下载,7 和 8 要从Oracle下载。
自己安装的jdk安装目录:/Library/Java/JavaVirtualMachines
如果你不是通过系统偏好中的 Java 控制面板进行升级,那么你需要手动配置 JAVA_HOME,以指定不同的Java版本。否则,当你安装完新版本 JDK 后,你会发现 java -version 命令显示的仍然还是升级之前的版本。而手动配置 JAVA_HOME,还是比较麻烦的。
jenv 是一个专门用于配置 JAVA_HOME 环境变量工具。你可以用它来管理 Mac 上的 Java 版本。
1、安装
$ brew install jenv
2、配置
使用Bash情况:
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
这将在 ~/.bash_profile 文件中追加一个 export 命令和 eval 命令。前者追加 jenv 的路径到环境变量 PATH 中,后者执行 jenv init -命令。这样每打开一个 bash 终端窗就可以调用 jenv 命令,并且默认执行一次 jenv init - 命令了。
使用Zsh情况:
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc $ echo 'eval "$(jenv init -)"' >> ~/.zshrc
3、查看 java 版本
$ jenv versions * system (set by /Users/cactus/.jenv/version)
可以看到 jenv 只列出了系统内置的 Java 版本(system),因为其它两个版本虽然安装了,但需要我们手动添加到 jenv 中,这样 jenv 才能管理它们。*表示当前选择的版本。
4、添加java版本到jenv
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home $ jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
5、指定java版本 (per directory)
$ jenv local 1.8.0.121
然后查看下版本切换成功:
$ jenv versions system 1.7 1.7.0.80 1.8 * 1.8.0.121 (set by /Users/cactus/.java-version) oracle64-1.7.0.80 oracle64-1.8.0.121
$ java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) yangjundeMacBook-Pro:~ yangjunzhu$
6、显示当前版本Java的完整路径
$ jenv which java /Users/cactus/.jenv/versions/1.8.0.121/bin/java
这当然不是真实的路径,而是一个硬链接。你可以找到 /Users/cactus/.jenv/versions/ 目录,发现所有的 java 版本都被列在了这里,这些硬链接(相当于 windows 的快捷方式)都指向了对应的 java 安装目录。
7、删除 java 版本
$ jenv remove oracle64-1.8.0.121
8、指定全局版本
$ jenv global 1.8.0.121
这样,默认的 java 版本就是 1.8.0.121 了。
9、
如果你想在某个项目中使用 1.7 版本,可以在项目文件夹下新建一个.java-version 文件,将文件内容编辑为 保存。这样,你进入这个文件夹时 jenv 会自动使用 1.7 作为当前版本(即 local 版本)。
官网:
源码:
https://github.com/gcuisinier/jenv
ps:如果遇到报错,可以sudo
相关推荐
Java for OS X 2015-001 会为 OS X 10.11 El Capitan、OS X 10.10 Yosemite、OS X 10.9 Mavericks、OS X 10.8 Mountain Lion 和 OS X 10.7 Lion 安装传统的 Java 6 Runtime。 本软件包只为传统软件提供支持,并会...
Mac OS X 编辑 讨论 macOS是苹果公司为Mac系列产品开发的专属操作系统。macOS是苹果Mac系列产品的预装系统,处处体现着简洁的宗旨。 macOS是全世界第一个基于FreeBSD...它是所有OS X版本中Mac的首个默认操作系统。 [3]
JavaForOSX.pkg JavaForOSX.pkgJavaForOSX.pkgJavaForOSX.pkgJavaForOSX.pkgJavaForOSX.pkg
本软件包会安装 Java 6,它与“适用于 OS X 的 Java 2013-005”中的版本相同。 在尚未安装“适用于 OS X 的 Java 2012-006”或更高版本的系统上,本更新会停用 Java SE 6 applet 插件。若要在网页上使用 applet,请...
标题中的“引导Mac OS X 10.7的工具”指的是一个用于启动并安装苹果公司操作系统Mac OS X 10.7(代号Lion)的辅助程序或软件。Mac OS X 10.7是苹果在2011年发布的一个重大更新,引入了许多新功能,如全屏应用、...
由于JAVA的跨平台特性,这些数据库小工具往往能在Windows、Linux、Mac OS等操作系统上运行,增强了其适用性和灵活性。 8. **集成开发环境(IDE)集成** 一些工具可以与常用的Java IDE(如Eclipse、IntelliJ IDEA)...
JavaForOSX 2015-001.dmg 开发xmpp项目必须的Java环境
以下是关于“java版本eclipse工具mac版本”的详细知识点: 1. **Eclipse IDE简介**: Eclipse是一个开放源码的软件开发平台,最初由IBM公司开发,现在由Eclipse基金会维护。它主要提供了一个可扩展的框架,用于...
标题中的"mac版本java反编译工具jd-gui"指的是专门为Mac OS设计的JD-GUI版本,它允许用户在苹果电脑上轻松地对Java字节码进行反编译。这个工具对于开发者来说非常方便,尤其是在他们需要查看没有源代码的第三方库...
**mac os x 引导工具详解** 在计算机操作系统领域,Mac OS X(现已被Apple更名为macOS)是一款专为Apple公司的Macintosh计算机设计的操作系统。它以其独特且友好的用户界面,强大的性能以及与Apple硬件的紧密集成而...
JAVA6环境包 可以运行macOS Catalina,你们可以试一下看看可不可以,这次的macOS Catalina,真是要命啊!!!
本压缩包“手机鸿蒙OS的Java类库.zip”包含了HarmonyOS中与Java相关的类库,这些类库为开发者提供了在Android和Java开发经验基础上构建鸿蒙OS应用的能力。Java类库在鸿蒙OS中扮演着核心组件的角色,它们提供了系统...
在鸿蒙OS应用开发中,Java版本的ElementUI界面实现是一项关键的技术,它涉及到华为的HarmonyOS系统、安卓生态的兼容以及用户界面的设计与交互。这篇内容将深入解析鸿蒙OS中的Java开发环境,ElementUI组件库的使用,...
**Mac OS上的Java内存分析工具MAT** 在Java应用程序开发中,内存管理是至关重要的,特别是对于大型、长期运行的应用程序,内存泄漏可能导致性能下降甚至系统崩溃。为了有效地诊断和解决这些问题,开发人员需要借助...
mac os下的mysql管理工具,方便在mac os环境下进行数据库管理
RouterOS 5.x 配置 Hotspot 认证实现 UserManager 中文认证管理归类是 RouterOS 5.x 版本中的一种实现 Hotspot 认证的解决方案。该解决方案主要通过配置 RouterOS 5.x 的 Hotspot 功能,实现用户认证和管理的目的。...
标题中的“Extra 适用于mac os x 10.9所有版本”指的是这是一款专为苹果Mac操作系统OS X 10.9(代号Mavericks)设计的软件扩展或工具集合。在Mac OS X系统中,“Extra”通常指的是包含额外功能、组件或者系统级别的...
同步机制如条件变量(`java.util.concurrent.Condition`)和信号量(`Semaphore`)也是进程管理中的重要工具。它们可以帮助线程在特定条件下进行协作,避免死锁和资源浪费。 在调度策略方面,Java没有直接提供操作...
标题中的“Mac OS X上个检测网络的工具”指的是在苹果操作系统Mac OS X环境下用于监测和诊断网络状况的软件。这类工具通常包含了多种网络测试功能,帮助用户了解网络连接的健康状态,排查网络问题。 描述中提到“一...
1. **Mission Control**:这是Lion中引入的一个核心功能,它整合了Dashboard、Exposé、Spaces等多重桌面管理工具,使得窗口管理和多任务处理更为高效。用户可以通过简单的手势或热键在各个工作空间之间切换,查看...