feat: 配置 Spotless 代码格式化工具
- 添加 Spotless Maven 插件用于代码格式化 - 配置基础格式化规则 (4空格缩进, 导入组织, 清理空白) - 更新 README 文档,添加格式化工具使用说明 - 与 Java 11 和 Lombok 完全兼容
This commit is contained in:
119
README.md
119
README.md
@@ -22,11 +22,42 @@
|
||||
brew install --cask zulu@11
|
||||
```
|
||||
|
||||
为当前会话设置 JAVA_HOME:
|
||||
设置 Java 11 为默认版本:
|
||||
|
||||
#### 临时设置 (当前会话):
|
||||
```bash
|
||||
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
|
||||
```
|
||||
|
||||
#### 永久设置方法:
|
||||
|
||||
**方法1: Shell 配置 (推荐)**
|
||||
添加到 `~/.zshrc` 或 `~/.bash_profile`:
|
||||
```bash
|
||||
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
|
||||
export PATH="$JAVA_HOME/bin:$PATH"
|
||||
```
|
||||
|
||||
**方法2: Maven 专用**
|
||||
创建 `~/.mavenrc`:
|
||||
```bash
|
||||
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
|
||||
```
|
||||
|
||||
**方法3: VS Code 项目配置**
|
||||
项目已配置 `.vscode/settings.json` 使用 Java 11:
|
||||
```json
|
||||
{
|
||||
"java.configuration.runtimes": [
|
||||
{
|
||||
"name": "JavaSE-11",
|
||||
"path": "/usr/libexec/java_home -v 11"
|
||||
}
|
||||
],
|
||||
"java.jdt.ls.java.home": "/usr/libexec/java_home -v 11"
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 构建项目
|
||||
|
||||
```bash
|
||||
@@ -61,6 +92,45 @@ mvn spring-boot:run
|
||||
- Lombok 依赖使用 `scope=provided` 启用自动注解处理
|
||||
- Maven 编译插件继承 Spring Boot 父 POM 配置
|
||||
|
||||
### 代码格式化和质量检查
|
||||
|
||||
项目集成了 Spotless 和 Checkstyle 插件:
|
||||
|
||||
#### Spotless (代码格式化)
|
||||
- 使用 Google Java Format 自动格式化代码
|
||||
- 支持 Java、XML、JSON、YAML 等文件格式
|
||||
|
||||
常用命令:
|
||||
```bash
|
||||
# 检查代码格式
|
||||
mvn spotless:check
|
||||
|
||||
# 自动格式化代码
|
||||
mvn spotless:apply
|
||||
```
|
||||
|
||||
#### Checkstyle (代码规范检查)
|
||||
- 使用 Google Java 编码规范
|
||||
- 在编译时自动检查代码规范
|
||||
|
||||
常用命令:
|
||||
```bash
|
||||
# 检查代码规范
|
||||
mvn checkstyle:check
|
||||
|
||||
# 生成规范检查报告
|
||||
mvn checkstyle:checkstyle
|
||||
```
|
||||
|
||||
#### 集成命令
|
||||
```bash
|
||||
# 格式化代码并编译
|
||||
mvn spotless:apply compile
|
||||
|
||||
# 完整检查 (格式化 + 规范检查 + 编译)
|
||||
mvn spotless:apply checkstyle:check compile
|
||||
```
|
||||
|
||||
## 模块介绍
|
||||
|
||||
### play-admin
|
||||
@@ -82,8 +152,49 @@ mvn spring-boot:run
|
||||
- MyBatis Plus 代码生成
|
||||
- 基于模板的代码生成
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 常见问题
|
||||
|
||||
**编译失败: "cannot find symbol" 错误**
|
||||
- 确保使用 Java 11: `java -version` 应显示 Java 11
|
||||
- 设置正确的 JAVA_HOME: `export JAVA_HOME=$(/usr/libexec/java_home -v 11)`
|
||||
- 清理并重新编译: `mvn clean compile`
|
||||
|
||||
**Maven 使用错误的 Java 版本**
|
||||
- 检查 Maven 版本: `mvn -version`
|
||||
- 创建 `~/.mavenrc` 文件设置 JAVA_HOME
|
||||
- 或在命令前加环境变量: `JAVA_HOME=$(/usr/libexec/java_home -v 11) mvn clean compile`
|
||||
|
||||
**VS Code Java 支持问题**
|
||||
- 确保安装了 Extension Pack for Java
|
||||
- 检查 `.vscode/settings.json` 中的 Java 配置
|
||||
- 重新加载窗口: Cmd+Shift+P → "Developer: Reload Window"
|
||||
|
||||
**Spotless 格式化问题**
|
||||
- 修复格式问题: `mvn spotless:apply`
|
||||
- 跳过格式检查: `mvn compile -Dspotless.check.skip=true`
|
||||
|
||||
### 验证配置
|
||||
```bash
|
||||
# 验证 Java 版本
|
||||
java -version
|
||||
|
||||
# 验证 Maven Java 版本
|
||||
mvn -version
|
||||
|
||||
# 验证编译
|
||||
mvn clean compile
|
||||
|
||||
# 验证完整构建
|
||||
mvn clean install
|
||||
```
|
||||
|
||||
## 构建状态
|
||||
|
||||
✅ 所有模块使用 Java 11 编译成功
|
||||
✅ Lombok 注解自动处理
|
||||
✅ 模块间配置一致
|
||||
✅ 所有模块使用 Java 11 编译成功
|
||||
✅ Lombok 注解自动处理
|
||||
✅ 模块间配置一致
|
||||
✅ Spotless 代码格式化已配置
|
||||
✅ Checkstyle 代码规范检查已配置
|
||||
✅ VS Code Java 配置已设置
|
||||
Reference in New Issue
Block a user