第三章 开发环境准备:系统要求与依赖安装
环境配置这件事,说简单也简单,说麻烦也麻烦。我见过不少项目,代码本身没毛病,结果卡在环境不一致上——你本地能跑,CI 就崩,换一台机器又不行。所以这一章,咱们就把地基打牢。
3.1 系统要求
先看操作系统。官方支持这三种:
- Windows:Windows 10/11 64位,或 Windows Server 2016+
- macOS:macOS 11 Big Sur 及以上(Intel 和 Apple Silicon 都行)
- Linux:Ubuntu 20.04+、CentOS 7+ 或 Debian 11+
我在项目里踩过一个坑:同事用 Windows 10 1809 旧版本,结果 SDK 的某些底层库依赖 VC++ 运行时,死活装不上。后来升级到 22H2 就解决了。所以,系统版本越新越好,至少保持最新补丁。
最低硬件配置:4GB 内存,20GB 可用磁盘。真实项目里建议 8GB+,IDE + 几个微服务一跑很容易吃掉 6GB。
3.2 关键依赖版本一览
下表列出了核心工具的推荐版本。别问为什么非得用这些版本——我试过 JDK 17 但 SDK 里有个反射写法只兼容 11,调了我半天。老老实实用推荐版。
| 工具 | 推荐版本 | 备注 |
|---|---|---|
| JDK | 11(LTS) | 8 已 EOL,17 部分 API 不兼容 |
| Maven | 3.8.6+ | Gradle 7.5+ 也可以 |
| Node.js | 18 LTS | 用于前端演示和 mock 服务 |
| Git | 2.30+ | 老版本可能不认 ssh-rsa 签名 |
| IntelliJ IDEA | 2022.3+ | 社区版够用 |
3.3 安装步骤
JDK 安装
我个人习惯用 Adoptium(原 AdoptOpenJDK)。去 adoptium.net 下载 JDK 11,安装后配环境变量。验证:
java -version
# 输出示例:
# openjdk version "11.0.21" 2023-10-17 LTS
# OpenJDK Runtime Environment (build 11.0.21+9)
# OpenJDK 64-Bit Server VM (build 11.0.21+9, mixed mode)
小技巧:用 sdkman(Linux/macOS)或 choco(Windows)管理多版本 JDK,切换特别方便。我在本地同时装了 8、11、17,通过 sdk use 临时切版本测试兼容性。
Maven 安装
直接下载二进制 zip,解压到 C:\tools\maven 或 /opt/maven,把 bin 目录加到 PATH。验证:
mvn -version
# 输出包含 Apache Maven 3.8.6 以及使用的 Java 版本
注意:国内下载 Maven 依赖很慢。我建议配阿里云镜像:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
放到 ~/.m2/settings.xml 里。第一次构建能快 10 倍。
Node.js 和 Git
这两个没啥玄学。Node 官网下载 LTS 版本,一路 Next。Git 安装时勾上“Add Git Bash to Windows PATH”。macOS 用 brew 装:
brew install node git
3.4 双人审批 SDK 依赖引入
咱们的 SDK 已经发布到 Maven 中央仓库。在 pom.xml 里加这段:
<dependency>
<groupId>com.dualsign.approve</groupId>
<artifactId>dual-approval-sdk</artifactId>
<version>1.0.0</version>
</dependency>
如果是 Gradle 项目:
implementation 'com.dualsign.approve:dual-approval-sdk:1.0.0'
执行 mvn clean install,第一次会下载几十个依赖。看到 BUILD SUCCESS 就算过了。
曾经有个团队 直接复制了老版本的坐标,group id 写成了 com.oldsign,结果下回来的 jar 全是过时的 API。一定要用我上面给出的最新坐标。版本号可以上 mvnrepository.com 确认。
3.5 验证安装:一个简单的测试
创建一个测试类:
import com.dualsign.approve.DualSignClient;
public class EnvCheck {
public static void main(String[] args) {
DualSignClient client = new DualSignClient();
System.out.println("SDK version: " + client.getVersion());
System.out.println("双人审批SDK加载成功!");
}
}
跑一下,输出类似:
SDK version: 1.0.0
双人审批SDK加载成功!
嗯,走到这一步,你的开发环境就准备妥了。
3.6 常见环境问题速查
我整理了一个表格,你们遇到报错可以先对照着查:
| 现象 | 大概率原因 | 解决办法 |
|---|---|---|
java.lang.UnsupportedClassVersionError |
JDK 版本与编译版本不一致 | 切换 JDK 11,检查 java -version |
Could not resolve dependencies |
Maven 仓库连不上或镜像未配置 | 检查网络,配阿里云镜像 |
SDK 类找不到 |
坐标写错或版本号不对 | 核对 groupId/artifactId/version |
| 编译时报中文乱码 | IDE 编码不是 UTF-8 | 设置 -Dfile.encoding=UTF-8 |
我个人习惯:建一个干净目录专门放 SDK 项目,不跟其他工程混。这样依赖冲突一眼就能看出来。实在搞不定就删掉 ~/.m2/repository 重新下载,虽然慢了点,但能治强迫症。