香雨站

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 106|回复: 15

新 Mac 如何优雅地配置 Java 开发环境

[复制链接]

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-4-19 16:21:31 | 显示全部楼层 |阅读模式
声明:不适用于 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`。



  • 基于 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




IDEA CE 版就够了

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


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

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

  • 可以干净地卸载  一条命令,世界就安静了。 brew uninstall openjdk@8
  • 快速地切换版本
快速切换版本就留个思考题吧,
<hr/>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

主题

5

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-4-19 16:22:28 | 显示全部楼层
快速地切换版本 如何操作呢
回复

使用道具 举报

3

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2023-4-19 16:23:13 | 显示全部楼层
请问一下,安装jdk@8的时候总是出现错误,是因为我电脑连接不上github的问题吗?[思考][捂脸]
回复

使用道具 举报

2

主题

7

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2023-4-19 16:23:34 | 显示全部楼层
上截图
回复

使用道具 举报

1

主题

4

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2023-4-19 16:23:50 | 显示全部楼层
估计是,homebrew换个源吧
回复

使用道具 举报

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2023-4-19 16:24:45 | 显示全部楼层
可以使用jenv
回复

使用道具 举报

1

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2023-4-19 16:25:07 | 显示全部楼层
我试一下
回复

使用道具 举报

1

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2023-4-19 16:25:39 | 显示全部楼层
brew search openjdk 已经看不到 openjdk8了
回复

使用道具 举报

3

主题

6

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2023-4-19 16:26:11 | 显示全部楼层
直接使用idea进行下载jdk是最方便的吧
回复

使用道具 举报

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2023-4-19 16:26:37 | 显示全部楼层
brew info openjdk@8
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|香雨站

GMT+8, 2025-7-4 07:55 , Processed in 0.094895 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表