一、Maven 构建失败 --- KingBase 驱动缺失
**问题**:`com.kingbase8:kingbase8:jar:8.6.0` 无法从私服解析,且失败结果被 Maven 缓存导致反复失败。
**解决方案**:
-
清除 `$env:USERPROFILE\.m2\repository\com\kingbase8` 下的缓存
-
将本地已有的 `D:\LEO\bin\kingbase\Interface\jdbc\kingbase8-9.0.0.jar` 以 `8.6.0` 坐标手动复制到本地 Maven 仓库 `d:\LEO\Download\maven_repository\com\kingbase8\kingbase8\8.6.0\`,并创建对应 pom 文件
二、启动失败 --- PageHelper 不支持 kingbase 方言
**问题**:`PageException: 初始化 helper [kingbase] 时出错`,`ClassNotFoundException: kingbase`
**根因**:PageHelper 5.1.8 未注册 `kingbase` 方言别名,只支持 `postgresql`、`mysql`、`oracle` 等标准名称。
**解决方案**:修改 [application.yml](file:///d:\LEO\project\backend\src\main\resources\application.yml):
```
helperDialect: kingbase → helperDialect: postgresql
```
三、启动失败 --- Nacos 配置覆盖导致连接远端数据库
**问题**:Druid 持续报错连接 `jdbc:mysql://192.168.xx.xx:3306`(远端服务器)
**根因**:Nacos 上 `server-local.yaml` 的数据库配置未更新,覆盖了本地 properties 中的 KingBase 配置。
**解决方案**:登录 Nacos 控制台(`http://localhost:8848/nacos\`)手动修正该配置。
四、启动失败 --- Druid WallFilter 不支持 kingbase8 类型
**问题**:`IllegalStateException: dbType not support : kingbase, url jdbc:kingbase8://...`
**根因**:Druid 1.0.29 的 WallFilter 在 `init()` 时根据 URL scheme 推断 dbType,不识别 `kingbase8`。
**解决方案**:修改 [DruidConfig.java](file:///d:\LEO\project\backend\config\druid\DruidConfig.java),当 filters 包含 `wall` 时,手动创建 `WallFilter` 并设置 `dbType = "postgresql"`,再通过 `setProxyFilters()` 注入。
五、Swagger UI 无法加载 --- Profile 限制 + 条件注解永假
**问题**:访问 `/swagger-ui.html` 弹出 "Unable to infer base url",访问 `/v2/api-docs` 返回 404。
**根因(双重)**:
-
`@Profile({"dev","test"})` --- local 环境下 Swagger 配置类不加载
-
`@ConditionalOnProperty(prefix = "swagger", value = "false", havingValue = "false")` --- 条件配置逻辑异常,实际永远不成立,导致 Bean 从未被创建
**解决方案**:修改 [Swagger2Configuration.java](file:///d:\LEO\project\backend\config\Swagger2Configuration.java):
-
`@Profile` 增加 `"local"`
-
删除 `@ConditionalOnProperty` 注解
**最终结果**:应用在本地成功启动,端口 `18084`,已注册 Nacos,Dubbo 服务全部导出,Swagger UI 正常可访问。