修改模型后重新生成
适用场景
- 你修改了
model/*.orm.xml。 - 你想确认哪些模块会接收新的生成结果。
AI 决策提示
- 最简单可靠的做法是从项目根目录触发 Maven 构建。
- 如果只改了生成物而没回到源模型,先停下来修正路径。
最小闭环
1. 确认你改的是源模型
优先改 model/{app}.orm.xml,而不是 _app.orm.xml 或 _gen 文件。
2. 重新构建
./mvnw clean install -T 1C
3. 理解生成职责
| 模块 | 作用 |
|---|---|
*-codegen |
刷新项目级生成产物 |
*-dao |
刷新 ORM、Entity、接口等 |
*-meta |
刷新 XMeta 与 i18n |
*-web |
刷新页面文件 |
4. 检查结果
至少检查一个下游点位是否更新:
*-dao下的 ORM / Entity / 接口*-meta下的 XMeta / i18n*-web下的页面资源
5. XDef / XMeta 特例
- 如果改的是
nop-kernel/nop-xdefs/src/main/resources/_vfs/nop/schema/**/*.xdef这类 XDef 源模型,不要只重建nop-xdefs。 obj-schema.xdef这类 schema 还会通过nop-kernel/nop-xlang/precompile/gen-xlang-xdsl.xgen生成nop-xlang/src/main/java/**/_gen/*.java。- 这类改动至少要继续验证
nop-xlang的生成结果和相关测试,例如TestXMetaRef。 - 注意同名结构可能在多个 xdef 中重复定义,例如
obj-schema.xdef里的props改动,往往还需要同步检查schema.xdef。
常见坑
- 只重跑下游模块,没有刷新上游生成物。
- 以为
*-meta会直接生成全部 service / web 代码。 - 手改生成物后再去构建,结果改动被覆盖。
- 只改了
obj-schema.xdef,却漏掉schema.xdef等共享定义点,导致运行时解析出的 xdef/xmeta 仍然缺字段。
相关文档
../02-core-guides/model-first-development.md../01-repo-map/domain-module-pattern.md../04-reference/source-anchors.md