使用 szhn-spring CLI 创建 Spring Boot 多模块项目。当用户提到创建项目、初始化脚手架、Spring Boot 项目时自动触发。

按以下 4 步执行:
检查 Node.js:
node --version强制更新 CLI:
npm update -g @szhn/spring-cli如未安装:
npm config set registry https://npmmirror.digitalhainan.com.cn/
npm install -g @szhn/spring-cli⚠️ 参数校验规则
必填参数:
可选参数(有默认值):
-d 依赖列表:未提供则无依赖-D 数据库类型:默认 kingbase-t 模板:默认 default-o 输出目录:默认当前目录当用户未提供项目名称时:
szhn-spring create 命令询问模板:
❓ 请提供项目名称以创建项目。
您希望项目名称是什么?基本命令:
szhn-spring create <project-name> [options]常用参数:
| 参数 | 说明 | 示例 |
|---|---|---|
-d | 依赖列表 | -d redis,mybatis,security |
-D | 数据库类型 | -D mysql (默认 kingbase) |
-t | 模板 | -t default |
-o | 输出目录 | -o ./projects |
可用依赖: security, redis, mybatis, oss, license, es, sch-job, dubbo
详细参考: commands.md | dependencies.md
确认项目名称后,根据用户需求拼接命令并执行。
编译验证:
cd <project-name>
mvn clean compile结果处理:
自动修复策略:
mvn dependency:resolve + mvn clean install -U每次修复后重新编译,最多尝试 3 次。
详细指南: structure.md
读取配置: 从 <project-name>-start/src/main/resources/application.yml 提取:
server.port(默认 8080)server.servlet.context-path(默认空)输出生成的指引:
✅ 项目编译验证通过!
📌 后续操作:
1️⃣ 启动项目(先 cd <project-name>):
• mvn spring-boot:run -pl <project-name>-start
• 或在 IDE 中运行 Application 主类
2️⃣ 访问 Swagger(启动后):
• Knife4j:http://localhost:{port}/{context-path}doc.html
💡 {配置提示}配置提示示例:
💡 使用默认端口 8080💡 检测到自定义端口:{port}💡 检测到自定义配置:端口 {port},上下文路径 {context-path}详细配置解析: swagger-config.md
问题描述: 在本地 macOS/Linux 环境启动时,出现日志路径错误导致启动失败:
ERROR in ch.qos.logback.core.rolling.RollingFileAppender - Failed to create parent directories for [/home/app/<project-name>/logs/digitalhainan/2026-05-13-info.0.log]
java.io.FileNotFoundException: /home/app/<project-name>/logs/digitalhainan/2026-05-13-info.0.log (No such file or directory)原因: 默认配置的日志路径 /home/app/${spring.application.name}/logs 是服务器部署路径,本地开发环境不存在该路径。
解决方案: 通过 JVM 参数指定
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Ddigitalhainan.logback.loghome=./logs/digitalhainan"问题描述: 启动时出现 Bean 缺失错误:
Parameter 0 of method defaultUserManagerStrategyContext in cn.com.digitalhainan.user.conf.UserAutoConfiguration
required a bean of type 'cn.com.digitalhainan.user.client.uaa.UaaUserApioneClient' that could not be found.原因: Nacos 配置中心的 common-v3.yml 中包含了 user 模块的自动配置,但项目中没有配置 UAA 客户端(未添加 security 依赖)。
解决方案:
在启动类中排除 UserAutoConfiguration:
@SpringBootApplication(exclude = {
cn.com.digitalhainan.user.conf.UserAutoConfiguration.class
})
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}注意事项:
security 依赖:szhn-spring create my-project -d security,redis,mybatis问题描述: 启动时无法连接到 Nacos 配置中心:
connect to server failed, serverIp=10.111.32.90, port=8998解决方案:
application-local.yml 中)spring:
cloud:
nacos:
config:
enabled: false问题描述: 启动时数据库连接失败:
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure解决方案:
poc-demo-local.yml)