## 版本与环境 - 受影响路径:generator/codegen_tools.py 的 JavaCodeGenerator._get_output_path()。 - 运行时:Python 3.10+,Default、MybatisPlus、MybatisPlus-Mixed、sb35-java21 模板路线。 - 输入:固定 TableInfo 和 packageSuffix,可不连接真实数据库。 - 安装方式:仓库虚拟环境,PYTHONPATH=src。 ## 问题与预期行为 TemplateConfigManager.get_output_path_mapping() 使用 entity/{packageSuffix}/{className}.java 等模板。packageSuffix 为空时旧路径直接格式化为 entity//Account.java、dao//AccountDao.java 等双分隔符。Windows 可能容忍该字符串,但返回值、日志和下游路径比较会受到污染。 预期行为:格式化后的相对路径移除空路径段;有前缀时保留 entity/sys/Account.java 等层级,文件内容、包声明、文件名和输出目录安全边界不变。 ## 最小复现 使用 className=Account、packageSuffix="" 调用 JavaCodeGenerator._get_output_path()。修复前返回包含连续分隔符的路径;预期返回 entity/Account.java 等规范路径。使用 packageSuffix=sys 时应仍返回 entity/sys/Account.java。 ## 验收标准 - [ ] 四种模板路线的无前缀输出不含重复分隔符。 - [ ] 前缀子包路径和层级保持正确。 - [ ] 实际 generate_from_table 写盘路径与返回值一致。 - [ ] 模板内容、包声明、文件名和输出目录安全边界不变。 - [ ] 相关单元测试、Ruff、格式检查和 git diff --check 通过。 ## 非目标、风险与安全 本 Issue 不改变模板内容、数据库查询、包命名算法或原子 MCP 输出路径合同,不连接真实数据库。风险仅为路径字符串从不规范变为规范;不得把本地凭据或生成物提交到复现中,关联提交可单独回滚。
Activity
ZhaoXingPeng commentedon Sep 9, 2026
已由 PR #164 合并并进入 main,当前交付项完成,关闭本 Issue。