1610 字
约 5 分钟
6
S01-J09 · 环境搭建四条路:Windows 本机、macOS、云服务器、在线 IDE

适用读者:要在新机器/新服务器上把 JDK、Maven、数据库、IDE 装起来,且不想装完发现版本对不上的人。
前置:S01-B01(环境全景)、B02(JDK)。
覆盖旧文:A-2922(Java Environment / macOS 装 JDK)、A-2924(Windows 开发环境配置)、A-2925(Linux 云服务器一键脚本)、A-2926(在线 IntelliJ IDEA)→ 4 篇 / 约 1.2 万字符。
扩展点:E-S01-035(四条路径的取舍表)、E-S01-036(版本对齐矩阵:Spring Boot 3 要 JDK 17+)、E-S01-037(一键脚本的三步验证)。
上一篇:S01-J08 · 制品发布
下一篇:S01-J10 · IDEA 插件开发与 Maven 中央仓库发布。


1. 一句话结论

装环境的难点不是"装",是"对齐":JDK 版本要对得上框架,JAVA_HOME 要对得上 IDE,数据库端口要对得上连接串。 四条路径(本机 / 一键脚本 / 在线 IDE / 容器)装的是同一套东西,区别只在谁持有这些进程。

数据口径:A-2922/A-2924/A-2925/A-2926 原文(2023–2024 版本快照)。下表中的具体版本号属待核,装之前按官网当前版本核对。


2. 四条路径怎么选(E-S01-035)

路径 谁持有进程 适合 代价
Windows / macOS 本机 你的电脑 日常开发、断网也能跑 环境漂移,换机重装
Linux 云服务器一键脚本 服务器 演示、联调、跑中间件 要会 SSH,暴露端口有风险
在线 IDE 浏览器厂商 试学、临时看代码 依赖网络,插件受限
容器(Docker Compose) 容器运行时 团队统一、可复现 要懂镜像与卷

判据:"能不能复现"优先于"装得快"。 个人机器可以手装;要给别人复现,就写成一键脚本或 compose。


3. JDK:三条安装路径(E-S01-036)

3.1 macOS:Homebrew

# 1) 装 Homebrew(已有则跳过)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 2) 看有哪些版本
brew search openjdk

# 3) 装 17
brew install openjdk@17

# 4) 建符号链接,让 /usr/libexec/java_home 找得到
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk \
  /Library/Java/JavaVirtualMachines/openjdk-17.jdk

Intel Mac 的路径是 /usr/local/opt/openjdk@17/。实测:brew install 后不建链接时,java -version 可能仍是系统自带版本——这一步最容易漏。

3.2 Windows:安装包 + 环境变量

1) 下载 Temurin(Adoptium)MSI,安装时勾选:
   [x] Set JAVA_HOME variable
   [x] JavaSoft (Oracle) registry keys
2) 若未勾选,手工补:
   JAVA_HOME = C:\Program Files\Eclipse Adoptium\jdk-17.x.x-hotspot
   PATH     += %JAVA_HOME%\bin
3) 验证(新开一个 cmd,旧窗口不继承新变量):
   java -version

实测坑:改完环境变量必须重开终端;IDE 里如果先启动过,也要重启 IDE 才会读到新的 JAVA_HOME。

3.3 版本对齐矩阵

框架/工具 要求 说明
Spring Boot 3.x JDK 17+ 3.x 起不再支持 8/11
Spring Boot 2.7 JDK 8/11/17 老项目常见
Maven 3.8/3.9 JDK 8+ 3.9 建议 17
Gradle 8 JDK 17+ —
Android Gradle Plugin 8 JDK 17 —

判据:先定框架版本,再定 JDK。反过来(先装 JDK 8 再上 Spring Boot 3)会得到一堆 Unsupported class file major version。

# 一次看清当前环境
java -version 2>&1; echo "JAVA_HOME=$JAVA_HOME"; mvn -v | head -3

预期输出:java version "17.x";JAVA_HOME 指向 JDK 目录而非 bin;mvn -v 的 Java version 与之一致。


4. 云服务器一键脚本:五步走完,三步验证(E-S01-037)

原文脚本(xfg-dev-tech-docker-install)把 JDK / Maven / Docker / MySQL / Redis / Nginx / Node 装成一组 shell。

# 1) 取脚本
git clone https://github.com/fuzhengwei/xfg-dev-tech-docker-install.git
# 国内:git clone https://gitcode.com/Yao__Shun__Yu/xfg-dev-tech-docker-install.git

# 2) 加执行权限
cd xfg-dev-tech-docker-install
find . -name "*.sh" -type f -exec chmod +x {} \;

# 3) 装 Docker(按发行版选)
sudo ./centos_run_install_docker_local.sh    # CentOS
sudo ./ubuntu_run_install_docker_local.sh    # Ubuntu

# 4) 装 JDK(8/17 按需)
sudo ./environment/jdk/install-jdk.sh

# 5) 装软件(MySQL/Redis/Nacos 等)
sudo ./run_install_software.sh

三步验证(脚本跑完必做):

验证 命令 通过标准
JDK java -version 版本与脚本选的一致
Docker docker run --rm hello-world 输出 Hello from Docker!
数据库 mysql -h127.0.0.1 -uroot -p -e "select 1" 返回 1

判据:脚本不是"跑完就完事",是"跑完要验"。 脚本里常见失败是"镜像拉取超时"和"端口被占用",两者都不会让脚本非零退出。

安全提醒:云服务器上跑的 MySQL/Redis 只监听 127.0.0.1,或走安全组白名单;不要图省事 0.0.0.0 加弱密码。


5. 在线 IDE:它的边界

A-2926 记录的是浏览器里的 IntelliJ 界面(项目树、编辑器、标签页)。用它可以:

能做 不能做(多数情况)
读代码、跳转、简单编辑 本地文件系统/端口
试学、演示 重型构建、调试器
共享会话 私有依赖仓库

判据:在线 IDE 是"看和试"的工具,不是"交付"的环境。 真跑构建还得回到本机或容器。


6. 常见误区

误区 纠正
"装最新 JDK 最好" Spring Boot 3 要 17+,但老项目要 8/11
"改完环境变量就好了" 要重开终端与 IDE
"一键脚本跑完就可用" 必须做 JDK/Docker/DB 三项验证
"在线 IDE 能当开发环境" 端口、文件系统、私有依赖都受限
"云上开 0.0.0.0 方便" 等于把数据库暴露给全网

7. 自测

  1. Spring Boot 3.x 最低要哪个 JDK?装 JDK 8 会报什么错?
  2. macOS 用 brew 装完 JDK,为什么还要建符号链接?
  3. 一键脚本跑完后,三项验证分别是什么命令?
  4. 什么时候该选容器而不是本机安装?
答案
  1. JDK 17;Unsupported class file major version。
  2. /usr/libexec/java_home 只认 /Library/Java/JavaVirtualMachines/*.jdk 下的链接。
  3. java -version、docker run --rm hello-world、mysql ... -e "select 1"。
  4. 需要团队复现、或要跑中间件而不想污染本机时。

8. 下一篇

S01-J10 · IDEA 插件开发与 Maven 中央仓库发布 —— 从插件工程模板到 plugin.xml 扩展点,再到 GPG 签名、Sonatype 工单与 DNS 验证的完整发布链路。


本篇属于系列《S01 · 开发环境与工具链》。旧文来源:A-2922/2924/2925/2926;扩展点 E-S01-035/036/037。原文为 2023–2024 版本快照,具体版本号属待核。

S01-J09 · 环境搭建四条路:Windows 本机、macOS、云服务器、在线 IDE
https://www.clxhxhhr.top/posts/5174/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。