PlantUML带点类名的类成员箭头关联异常问题排查
问题:PlantUML带命名空间类的成员关联异常
想要实现类成员与目标类的关联效果(类似成员连线到对应类的样式),但使用带点的命名格式(如auth.Permission)编写代码后,生成的UML图出现了额外的第三个类,而非正确的成员关联效果。
我的代码如下:
@startuml class auth.Permission { + id + content_type + codename } class auth.Group { + id + name + permissions } auth.Group::permissions -- auth.Permission @enduml
运行后未在auth.Group的permissions成员与auth.Permission类间建立关联,反而生成了多余的类,不符合预期。
解决方案
问题根源是PlantUML对带点(命名空间)的类名解析规则:未加引号时,PlantUML会将点分隔的部分误识别为独立类名,导致创建额外类。只需用双引号包裹完整的带命名空间类名即可修复:
修正后的代码:
@startuml class "auth.Permission" { + id + content_type + codename } class "auth.Group" { + id + name + permissions } "auth.Group"::permissions -- "auth.Permission" @enduml
用双引号包裹带命名空间的类名后,PlantUML会正确识别完整类标识,从而在auth.Group的permissions成员与auth.Permission类之间建立正确的关联,不会生成多余类。
内容的提问来源于stack exchange,提问作者David Dahan
相关产品推荐
相关产品推荐

