CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

新Mac如何优雅地配置Java开发环境-永久免费的源码丞旭猿

声明:不适用于 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

brew search openjdk之后,你就会出现上图中的情况。

我们看一下 openjdk@8 的安装描述信息,`brew info openjdk@8`。

  1. 基于 brew 安装 openjdk@8 需要依赖的其他 package
  2. 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的参考链接,可以看这里

  1. OpenJDK
  2. JDK from Oracle
  3. Archived OpenJDK GA Releases可直接下载 OpenJDK 的 MacOS 版

OpenJDK Archive发工具 IDEA

IDEA CE 版就够了

16 年前,写 Java 还是用 Eclipse;16年后,就全面切换 IDEA 了,它真的太 Intelligent 了!

其他工具就不推荐了,用它,就用它。

新手手头紧张,社区版就够用了。老兵,觉得它不错就订阅走一波,当然还有万能的淘宝,还有XX各种破解,这里就不推荐了。一句话,如果你是一名从业者不尊重别人的劳动成果,出来混的总会要还的,时间也是要成本的。

最后

回归主题,既然说优雅地配置 Java 开发环境,那就需要满足两个条件:

  1. 可以干净地卸载 一条命令,世界就安静了。brew uninstall openjdk@8
  2. 快速地切换版本

快速切换版本就留个思考题吧,


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版本切换。

声明:本文部分素材转载自互联网,如有侵权立即删除 。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容