AI + Java 全栈开发环境搭建笔记
[!info] 环境说明
本机系统:Windows 10 专业版 2019
子系统:WSL2 (Ubuntu 26.04.1 LTS)
日期:2026-09-01
一、系统更新与基础工具安装
命令
1 | sudo apt update && sudo apt upgrade -y |
安装结果
| 组件 | 版本 |
|---|---|
| Git | 2.53.0 |
| curl | 8.18.0 |
| build-essential | 系统自带最新版 |
二、Python 环境管理器 (Conda) 安装
命令
1 | # 下载 Miniconda 安装脚本 |
[!warning] 注意
运行完conda init后,需要关闭并重新打开 Ubuntu 终端才能生效。
安装结果
| 组件 | 版本 |
|---|---|
| Conda (Miniconda) | 26.7.1 |
| Python(base 环境) | 3.11 |
三、Conda 服务条款同意
命令
1 | conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main |
[!info] 说明
这是 Anaconda 的新要求,不同意条款无法使用conda create创建环境。
四、创建 Python 3.11 AI 开发环境
命令
1 | # 创建名为 ai-dev 的虚拟环境,指定 Python 3.11 |
安装结果
| 组件 | 版本 |
|---|---|
| Python(ai-dev 环境) | 3.11 |
| pip | 26.2.1 |
[!tip] 为什么用 3.11 而不是系统自带的 3.14?
主流 AI 框架(PyTorch、LangChain 等)对 Python 3.10-3.12 的兼容性最好,3.14 太新可能导致部分库无法安装。
五、Java 21 + Maven 安装 (使用 SDKMAN!)
命令
1 | # 安装 SDKMAN! 依赖 |
安装结果
| 组件 | 版本 |
|---|---|
| OpenJDK | 21.0.10 (Temurin) |
| Maven | 3.9.16 |
[!tip] 为什么用 SDKMAN! 而不是 apt?
使用 SDKMAN! 可以方便地管理多个 Java 和 Maven 版本,避免系统级安装带来的版本冲突和权限问题,是 Java 开发者的最佳实践。
六、Node.js 安装 (使用 nvm)
命令
1 | # 安装 nvm |
安装结果
| 组件 | 版本 |
|---|---|
| Node.js | v22.x.x |
| npm | 随 Node |
[!tip] 为什么用 nvm 而不是 apt?
nvm (Node Version Manager) 允许在同一台机器上安装和切换多个 Node.js 版本,这对于需要维护不同版本 Node.js 的前端项目至关重要。
七、Docker 安装
命令(实际成功方案)
1 | # 安装 Docker(使用 Ubuntu 官方源,兼容性好) |
[!warning] 踩坑记录
最初尝试使用 Docker 官方仓库(download.docker.com)安装,但由于 Ubuntu 26.04 版本太新,Docker 官方仓库尚未适配,GPG 密钥下载失败(curl: (35) Recv failure: Connection reset by peer)。最终改用 Ubuntu 自带的docker.io包成功安装。
安装结果
| 组件 | 版本 |
|---|---|
| Docker | 29.1.3 |
八、Docker 免 sudo 配置
命令
1 | # 将当前用户加入 docker 用户组 |
[!warning] 注意
运行后需要关闭并重新打开终端才能生效。生效后可以直接使用docker命令,无需加sudo。
九、WSL 中 Docker 自启动配置
由于 Windows 10 2019 的 WSL 版本不支持 systemd 作为 PID 1 进程,Docker 无法通过 systemctl 管理。采用手动启动脚本方案。
命令
1 | # 创建 Docker 启动脚本 |
[!tip] 效果
每次打开 Ubuntu 终端时,Docker 会自动在后台启动,无需手动输入sudo dockerd &。
十、WSL 启用 systemd 尝试(失败记录)
命令
1 | # 写入 WSL 配置文件,尝试启用 systemd |
然后在 Windows PowerShell 中执行:
1 | wsl --shutdown |
结果
systemctl --version能正常输出版本号(systemd 259)- 但
ps -p 1 -o comm=显示 PID 1 进程不是 systemd sudo systemctl start docker仍然报错:System has not been booted with systemd as init system (PID 1)
[!fail] 结论
Windows 10 2019 自带的 WSL 版本过旧,wsl --update命令不可用(提示”命令行选项无效”),无法通过此方式启用 systemd。最终采用手动启动脚本方案替代。
十一、Windows 本机 IDE 安装
IntelliJ IDEA Community(写 Java 用)
下载
- 打开浏览器,访问:https://www.jetbrains.com/idea/download/
- 找到 Community 那一栏(免费的,左边那个)
- 点击橙色的 Download 按钮
[!warning] 注意
不要下载 Ultimate(收费版),选 Community(免费版)就够用了。
安装步骤
- 双击下载好的
.exe安装包 - 一路点 Next,大部分选项保持默认
- 在 Installation Options 页面,勾选以下选项:
- ✅ Create Desktop Shortcut(创建桌面快捷方式)
- ✅ Add “Open Folder as Project”(右键菜单可以直接用 IDEA 打开项目)
- ✅ Add launchers dir to the PATH(添加到系统 PATH)
- 在 Choose Boot Environment 页面,选择 JetBrains Runtime(默认选项)
- 点击 Install,等待安装完成
- 点击 Finish,勾选 Run IntelliJ IDEA 启动
首次启动配置
- 启动后选择 Do not import settings(不导入旧设置)
- 选择主题:推荐选 Darcula(深色主题,护眼)
- 点击 Next,到 Plugins 页面,保持默认,点 Start Using IntelliJ IDEA
连接 WSL
- 打开 IDEA,点击菜单 File → Open
- 在路径栏中输入 WSL 项目路径,格式为:
\\wsl$\Ubuntu\home\你的用户名\项目目录 - 例如:
\\wsl$\Ubuntu\home\zzc\java-test - 点击 OK,IDEA 会打开 WSL 里的目录
VS Code(写 Python / 前端 / 通用)
下载
- 打开浏览器,访问:https://code.visualstudio.com/
- 点击蓝色的 Download for Windows 按钮
安装步骤
- 双击下载好的安装包
- 勾选 我接受协议,点 下一步
- 选择安装位置:保持默认,点 下一步
- 选择开始菜单文件夹:保持默认,点 下一步
- 选择附加任务(重要):
- ✅ 将”通过 Code 打开”操作添加到 Windows 资源管理器文件上下文菜单
- ✅ 将”通过 Code 打开”操作添加到 Windows 资源管理器目录上下文菜单
- ✅ 将 Code 注册为受支持的文件类型的编辑器
- ✅ 添加到 PATH(默认已勾选)
- 点击 安装,等待完成
安装 WSL 扩展(关键)
- 打开 VS Code
- 按
Ctrl + Shift + X打开扩展面板 - 搜索:
WSL - 找到第一个结果:WSL(发布者是 Microsoft)
- 点击 Install
连接 WSL 的两种方式
方式一:命令行打开(推荐)
在 Ubuntu 终端中,进入项目目录后运行:
1 | code . |
会自动打开 VS Code 并连接到 WSL。
方式二:界面操作
- 打开 VS Code
- 按
Ctrl + Shift + P打开命令面板 - 输入
WSL: Connect to WSL,按回车
推荐安装的扩展
| 扩展名 | 用途 |
|---|---|
| Python(Microsoft) | Python 语法高亮、智能提示、调试 |
| ESLint | JavaScript/TypeScript 代码检查 |
| Prettier | 代码格式化 |
| Docker(Microsoft) | Docker 容器可视化管理 |
| Chinese (Simplified) | 中文界面(可选) |
[!tip] 小提示
安装扩展时,注意看扩展按钮旁边有没有 “Install in WSL: Ubuntu” 的选项。如果有,说明这个扩展会安装在 WSL 里,性能更好。
十二、验证环境
验证 VS Code + WSL 连接
在 Ubuntu 终端中运行:
1 | mkdir -p ~/test-project |
[!warning] 踩坑记录
使用echo "print('Hello from WSL!')"会报错-bash: !': event not found,因为 bash 把!当成了历史命令扩展符号。解决方法是外层用单引号,内层用双引号:echo 'print("Hello from WSL!")'。
验证要点:
- VS Code 左侧文件列表能看到
test.py - 顶部标题栏显示
[WSL: Ubuntu]字样
验证 IDEA + WSL 连接
在 Ubuntu 终端中运行:
1 | mkdir -p ~/java-test |
在 IDEA 中通过 File → Open 打开路径 \\wsl$\Ubuntu\home\zzc\java-test。
最终环境版本总览
| 组件 | 版本 | 用途 |
|---|---|---|
| Ubuntu | 26.04.1 LTS (resolute) | 操作系统 |
| WSL 内核 | 5.10.16.3-microsoft-standard-WSL2 | Windows 子系统 |
| OpenJDK | 21.0.10 (Temurin) | Java 后端开发 |
| Maven | 3.9.16 | Java 项目构建 |
| Python (ai-dev) | 3.11 | AI 开发 |
| Conda | 26.7.1 | Python 环境管理 |
| Node.js | v22.x.x (LTS) | 前端开发 |
| npm | 随 Node | Node.js 包管理 |
| Docker | 29.1.3 | 容器化部署 |
| Git | 2.53.0 | 版本控制 |
| IntelliJ IDEA | Community(免费版) | Java IDE |
| VS Code | 最新版 | Python / 前端 IDE |
踩坑汇总
| 问题 | 原因 | 解决方案 |
|---|---|---|
conda create 报错 CondaToSNonInteractiveError |
Anaconda 更新了服务条款 | 运行 conda tos accept 命令同意条款 |
| Docker 官方仓库 GPG 密钥下载失败 | Ubuntu 26.04 太新,Docker 官方仓库未适配 | 改用 apt install docker.io |
sudo systemctl start docker 报错 PID 1 不是 systemd |
Windows 10 2019 的 WSL 版本过旧 | 改用 sudo dockerd & 手动启动 + 自启动脚本 |
wsl --update 提示”命令行选项无效” |
WSL 版本过旧不支持该命令 | 无法更新,接受现状用手动方案 |
echo "print('Hello!')" 报错 event not found |
bash 的 ! 是历史扩展符号 |
外层用单引号,内层用双引号 |