标准化环境清单
| 组件 | 推荐版本 | 下载源 | 核心配置 |
| JDK | 17/21 LTS | Oracle / Adoptium | JAVA_HOME, PATH 添加 %JAVA_HOME%\bin |
| IDE | IntelliJ IDEA 2023+ / Eclipse 2023-09 | 官网 | Maven/Gradle 集成, 编码 UTF-8 |
| 构建工具 | Maven 3.9+ / Gradle 8+ | 官网 | settings.xml 镜像源 (阿里云), 本地仓库路径 |
| 数据库 | MySQL 8.0 / PostgreSQL 15 | 官网 / Docker | 字符集 utf8mb4, 时区 Asia/Shanghai |
| 数据库工具 | Navicat / DBeaver / DataGrip | 官网 | 连接池配置, ER 图生成 |
| Web 容器 | Tomcat 10.1 (Servlet 6) / Jetty 12 | 官网 | 端口 8080, 编码 UTF-8, JNDI 数据源 |
| 调试代理 | Fiddler / Charles / Proxyman | 官网 | HTTPS 解密证书安装 |
| 版本控制 | Git 2.40+ | 官网 | user.name/email, SSH Key, .gitignore |
JDK 环境变量标准配置
# Windows (系统变量)
JAVA_HOME = C:\Program Files\Java\jdk-21
PATH += %JAVA_HOME%\bin
# Linux/macOS (~/.bashrc / ~/.zshrc)
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk
export PATH=$JAVA_HOME/bin:$PATH
# 验证
java -version
javac -version
Maven 核心配置 (settings.xml)
<mirrors>
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Aliyun Maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>jdk-21</id>
<activation><activeByDefault>true</activeByDefault></activation>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</profile>
</profiles>
MySQL 8.0 必调参数
[mysqld]
# 字符集
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 连接数
max_connections = 1000
# 时区
default-time-zone = '+08:00'
# 仅本地访问 (生产环境)
# bind-address = 127.0.0.1
# SQL 模式 (兼容性)
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
Tomcat 生产就绪配置
<!-- server.xml -->
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200" minSpareThreads="20"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
compression="on"
compressableMimeType="text/html,text/xml,text/plain,text/css,application/json,application/javascript" />
<!-- context.xml 数据源 -->
<Resource name="jdbc/MyDB" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000"
username="app" password="secret"
driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=Asia/Shanghai" />
IDE 统一编码设置
- IntelliJ: Settings → Editor → File Encodings → Global/Project/Properties 全部 UTF-8
- Eclipse: Window → Preferences → General → Workspace → Text file encoding → UTF-8
Docker 一键启动核心中间件 (推荐)
# MySQL
docker run -d --name mysql -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=mydb \
-v mysql_data:/var/lib/mysql mysql:8.0
# Redis
docker run -d --name redis -p 6379:6379 redis:7-alpine
# Nginx
docker run -d --name nginx -p 80:80 -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf nginx:alpine
新手避坑清单
- JDK 版本与项目编译版本一致 (maven.compiler.source/target)
- 数据库驱动版本匹配 (MySQL 8 必用 mysql-connector-java 8.x)
- Tomcat Servlet 版本匹配 (Tomcat 10+ 对应 Servlet 6+, 包名 jakarta.*)
- 端口冲突检查 (8080, 3306, 6379, 80)
- 中文乱码三件套: 数据库/表/连接 URL 全链路 utf8mb4