使用ArgoUML从Java代码生成类图时关联关系不显示的解决办法
解决ArgoUML导入Java代码不显示类间关联的问题
针对你遇到的HotPursuit类与Flyable接口的关联未在自动生成类图中显示的问题,可尝试以下几种解决方案:
1. 调整ArgoUML导入配置
在导入Java源码时,确保启用字段类型关联识别的相关选项:
- 打开ArgoUML,选择
File -> Import Sources - 在导入向导中找到「Options」或「Advanced Settings」(不同版本位置略有差异)
- 勾选「Detect associations from field types」或类似选项,确保包含对接口类型和数组类型的识别
2. 手动补充关联关系
若自动识别失败,可手动添加关联:
- 在类图中选中
HotPursuit类,右键选择Add -> Association - 将关联另一端连接到
Flyable接口 - 编辑关联属性:设置多重性为
0..*(匹配数组的多实例特性),并可在关联标签中注明chasers字段,对应代码中的成员变量
3. 替换数组为泛型集合(备选)
ArgoUML对泛型集合的关联识别更可靠,可临时修改代码测试:
import java.util.List; import java.util.ArrayList; public class HotPursuit { List<Flyable> chasers; int _size; public HotPursuit(int size) { chasers = new ArrayList<>(size); this._size = size; } public void chase() { for(Flyable chaser : chasers) { chaser.fly(); } } }
重新导入后,ArgoUML应能识别出HotPursuit与Flyable的关联关系。
4. 更新ArgoUML版本
若使用的是旧版本ArgoUML,可能存在数组类型接口关联的识别Bug。尝试升级到最新稳定版(如0.34及后续版本),新版本通常会修复这类解析问题。
内容的提问来源于stack exchange,提问作者lbarqueira
相关产品推荐
相关产品推荐

