irving fb2bd510b1
Some checks failed
Build and Push Backend / docker (push) Failing after 6s
fix 管理员看不到订单
2025-10-31 23:59:52 -04:00
2025-10-04 00:35:49 -04:00
2025-10-31 23:59:52 -04:00
2025-10-31 23:59:52 -04:00
2025-10-03 23:55:14 -04:00
WIP
2025-08-29 09:59:08 -04:00
fix
2025-10-05 22:03:32 +08:00
2025-09-06 22:00:19 -04:00
WIP
2025-08-29 09:59:08 -04:00
2025-04-26 21:16:31 -04:00

PeiPei 后端项目

基于 Spring Boot 的多模块项目,为 PeiPei 应用提供后端服务。

项目结构

  • play-admin: 主要的 Spring Boot 应用模块
  • play-common: 公共工具类和共享代码
  • play-generator: 代码生成工具

构建要求

  • Java 11 (必须)
  • Maven 3.6+

快速开始

1. 安装 Java 11

在 macOS 上使用 Homebrew:

brew install --cask zulu@11

设置 Java 11 为默认版本:

临时设置 (当前会话):

export JAVA_HOME=$(/usr/libexec/java_home -v 11)

永久设置方法:

方法1: Shell 配置 (推荐) 添加到 ~/.zshrc~/.bash_profile:

export JAVA_HOME=$(/usr/libexec/java_home -v 11)
export PATH="$JAVA_HOME/bin:$PATH"

方法2: Maven 专用 创建 ~/.mavenrc:

export JAVA_HOME=$(/usr/libexec/java_home -v 11)

方法3: VS Code 项目配置 项目已配置 .vscode/settings.json 使用 Java 11:

{
    "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. 构建项目

# 清理并构建所有模块
mvn clean install

# 或者仅编译
mvn clean compile

3. 运行应用

# 运行主应用
java -jar play-admin/target/play-admin-1.0.jar

# 或使用 Maven
cd play-admin
mvn spring-boot:run

配置说明

项目在所有模块中统一使用 Java 11:

  • 所有模块都配置为 Java 11 源码和目标版本
  • Lombok 注解自动处理
  • 无需显式配置注解处理器

开发说明

  • 项目已更新为所有模块统一使用 Java 11
  • Lombok 依赖使用 scope=provided 启用自动注解处理
  • Maven 编译插件继承 Spring Boot 父 POM 配置

代码格式化和质量检查

项目集成了 Spotless 和 Checkstyle 插件:

Spotless (代码格式化)

  • 基于空格的缩进 (4个空格)
  • 自动清理尾随空白字符
  • 文件末尾添加换行符
  • 基本的导入组织

常用命令:

# 检查代码格式
mvn spotless:check

# 自动格式化代码
mvn spotless:apply

Checkstyle (代码规范检查)

  • 使用 Sun Java 编码规范 (比 Google 规范更宽松)
  • 在编译时自动检查代码规范
  • 与 Java 11 和 Lombok 兼容

常用命令:

# 检查代码规范
mvn checkstyle:check

# 生成规范检查报告
mvn checkstyle:checkstyle

集成命令

# 格式化代码并编译
mvn spotless:apply compile

# 完整检查 (格式化 + 规范检查 + 编译)
mvn spotless:apply checkstyle:check compile

部署说明

Docker 构建和推送

项目支持多架构 Docker 构建,特别适合在 Apple Silicon Mac 上为 Linux 服务器构建镜像。

构建镜像

# 构建服务器部署镜像 (Linux amd64)
./build-docker.sh amd64

# 构建本地开发镜像 (Apple Silicon arm64)
./build-docker.sh arm64

# 自动检测架构构建
./build-docker.sh

# 查看帮助
./build-docker.sh -h

推送到私有仓库

# 推送 amd64 镜像到私有仓库 (用于服务器部署)
./push-docker.sh

服务器部署

部署环境

  • 服务器: CentOS Linux
  • 架构: amd64
  • 容器: Docker + Docker Compose

部署步骤

  1. 服务器上的配置文件

    # 服务器主目录有专门的 docker-compose 文件
    ~/docker-compose.yml  # 为 CentOS 环境优化的配置
    
  2. 启动服务

    # 在服务器主目录执行
    cd ~
    docker-compose up -d
    
  3. 查看日志

    # 应用日志位置
    ~/log/  # 应用日志目录
    
    # 查看实时日志
    tail -f ~/log/detail.log
    tail -f ~/log/error.log
    
    # 查看容器日志
    docker-compose logs -f
    

部署文件说明

  • ~/docker-compose.yml: 为 CentOS 环境定制的 Docker Compose 配置
  • ~/log/: 应用日志输出目录
  • 配置文件已针对服务器环境进行优化,可直接使用

模块介绍

play-admin

主要的 Spring Boot 应用,包含:

  • REST API 接口
  • 安全配置
  • 数据库集成
  • 微信集成

play-common

共享工具库,包含:

  • 公共域对象
  • 工具类
  • Redis 配置
  • 安全工具

play-generator

代码生成工具,包含:

  • 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

验证配置

# 验证 Java 版本
java -version

# 验证 Maven Java 版本  
mvn -version

# 验证编译
mvn clean compile

# 验证完整构建
mvn clean install

构建状态

所有模块使用 Java 11 编译成功
Lombok 注解自动处理
模块间配置一致
Spotless 代码格式化已配置
Checkstyle 代码规范检查已配置 VS Code Java 配置已设置

Description
No description provided
Readme 9.4 MiB
Languages
Java 99.3%
Shell 0.7%