声明:不适用于 M1 芯片的 Mac 系列。
无论你是一名 Javaer 新手还是老兵,只要给你台新 Mac 总少不了折腾一下 Java 开发环境。那么问题来了:现在都 2020 年了,如何在初始化 Java 开发环境时你能愉快地去喝咖啡。看完这篇文章,希望可以解决你的困惑,那就开始吧。
本文分为三部分:准备工具,安装配置 JDK,安装开发工具。
准备
首先,在你的 Mac 上安装软件管理神器 ——>Homebrew。
关于 Homebrew 就不做介绍了,有兴趣照着官网练习一遍就会了。安装 Homebrew 的条件很简单:命令行直接复制如下命令即可。
/bin/bash -c"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
当然,执行上述命令需要可以正常地访问 GitHub 的关联网站才能完成安装。
Have fun !安装过程中去倒杯咖啡吧 ……
==> Next steps:
- Run `brew help` to get started
- Further documentation:
https://docs.brew.sh
看到上面这一句时,准备工作就完成了。我们继续 ——
安装并配置 JDK
自 Oracle 将 JDK 许可协议从 BCL 换成了 OTN 之后,生产环境就要慎用 Oracle JDK 了,以免法律纠纷。老版本 JDK 的后续支持补丁也成了问题,详情戳下面的链接吧,这里就不展开了。
从 2018 年开始,我们也逐渐切换到 OpenJDK 版本上开发和生产环境部署。所以这里,建议开发机可以安装的 OpenJDK 版本为:openjdk@8 和 openjdk@11 。尽管现在都2020年了,但大部分公司依然很有可能生产上还是以 JDK 8 为主。
那么,为什么也推荐了 openjdk@11 呢?首先,LTS 版本避雷必备;其次,JDK 8 发布于2014年,时隔4年抛开中间的两个非LTS版本,JDK 11 发布于2018年。带来了诸多稳定的新特性,完美甩开历史包袱,GC方面引来了 ZGC,默认GC算法改用 G1 。
安装 OpenJDK
brew search openjdk
之后,你就会出现上图中的情况。
我们看一下 openjdk@8 的安装描述信息,`brew info openjdk@8`。
- 基于 brew 安装 openjdk@8 需要依赖的其他 package
- openjdk@8 现阶段的安装统计相关信息
废话不多说了,直接安装:brew install openjdk@8
。安装时间,取决于网速的快慢。
➜ ~ brew install openjdk@8
Updating Homebrew...
Warning: You are using macOS 11.0.
==> Downloading https://homebrew.bintray.com/bottles/openjdk%408-1.8.0%2B275.big_sur.bottle.tar.gz
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/b37ae302878e8bdbfaaa9eb085c7315bef27c09fee834c1e43a7540b2b986d5a?response-content-disposition
100.0%
==> Pouring openjdk@8-1.8.0+275.big_sur.bottle.tar.gz
==> Caveats
For the system Java wrappers to find this JDK, symlink it with
sudo ln -sfn /usr/local/opt/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk
openjdk@8 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have openjdk@8 first in your PATH run:
echo export PATH="/usr/local/opt/openjdk@8/bin:$PATH" >> ~/.zshrc
For compilers to find openjdk@8 you may need to set:
export CPPFLAGS="-I/usr/local/opt/openjdk@8/include"
==> Summary
/usr/local/Cellar/openjdk@8/1.8.0+275: 742 files, 192.9MB
如上所述,openjdk@8
就安装好了。顺便再安装下openjdk@11
吧。
配置 JDK
Mac 下如果让你安装的JDK 生效及可识别需要如下几步操作。
⛽️执行如下命令
sudo ln -sfn /usr/local/opt/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk
✊检查 `tree /Library/Java`
➜ ~ tree /Library/Java
/Library/Java
├── Extensions
└── JavaVirtualMachines
└── openjdk-8.jdk -> /usr/local/opt/openjdk@8/libexec/openjdk.jdk
执行`/usr/libexec/java_home`
➜ ~ /usr/libexec/java_home
/usr/local/Cellar/openjdk@8/1.8.0+272/libexec/openjdk.jdk/Contents/Home
到这里基本配置好了,看下安装的 Java 版本吧。
➜ ~ java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-bre_2020_11_16_15_09-b00)
OpenJDK 64-Bit Server VM (build 25.275-b00, mixed mode)
JDK的参考链接,可以看这里
- OpenJDK
- JDK from Oracle
- Archived OpenJDK GA Releases可直接下载 OpenJDK 的 MacOS 版
开OpenJDK Archive发工具 IDEA
16 年前,写 Java 还是用 Eclipse;16年后,就全面切换 IDEA 了,它真的太 Intelligent 了!
其他工具就不推荐了,用它,就用它。
新手手头紧张,社区版就够用了。老兵,觉得它不错就订阅走一波,当然还有万能的淘宝,还有XX各种破解,这里就不推荐了。一句话,如果你是一名从业者不尊重别人的劳动成果,出来混的总会要还的,时间也是要成本的。
最后
回归主题,既然说优雅地配置 Java 开发环境,那就需要满足两个条件:
- 可以干净地卸载 一条命令,世界就安静了。
brew uninstall openjdk@8
- 快速地切换版本
快速切换版本就留个思考题吧,
2021-03-31 更新,很多人问到说如何切换JDK版本呢?
切换版本
以当前已安装的JDK版本为例,一共安装了1.8和11。
➜ ~ tree /Library/Java
/Library/Java
├── Extensions
└── JavaVirtualMachines
├── openjdk-11.jdk -> /usr/local/opt/openjdk@11/libexec/openjdk.jdk
└── openjdk-8.jdk -> /usr/local/opt/openjdk@8/libexec/openjdk.jdk
4 directories, 0 files
设置 JAVA_HOME
/usr/libexec/java_home
可以指定JDK版本,如下:
➜ ~ /usr/libexec/java_home -v1.8
/usr/local/Cellar/openjdk@8/1.8.0+282/libexec/openjdk.jdk/Contents/Home
➜ ~ /usr/libexec/java_home -v11
/usr/local/Cellar/openjdk@11/11.0.9/libexec/openjdk.jdk/Contents/Home
基于此特性我们可以采用如下策略:
export JAVA_HOME=$(/usr/libexec/java_home -v11)
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
alias java8=export JAVA_HOME=$JAVA_8_HOME
alias java11=export JAVA_HOME=$JAVA_11_HOME
至此基于alias就可以实现一个 Terminal 实例下的JDK版本切换。
声明:本文部分素材转载自互联网,如有侵权立即删除 。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容