我想使用degraph生成模型类之间的关系图。

这是一个代表性的示例模型,与Task相关的POJO TaskEntryImpl:

package com.packag.tm.model.pojo;
public class TaskEntryImpl implements TaskEntry,Serializable {

    private Integer id;
    private Task task;

    public Task getTask() {
        return this.task;
    }
    public void setTask(Task v) {
        this.task = v;
    }


包含模型的软件包将model.pojo作为软件包名称的一部分:

com.somepackage.events.model.pojo.DurationImpl
au.com.anotherpackage.ecrm.model.pojo.PayphoneImpl


如何获得满足上述特征的模型图?



出于好奇:我希望我可以有一个实体关系图。

这些模型类由Hibernate ORM连接。原始开发人员维护的SQL独立于代码库,并且从未使用过外键。因此,这排除了从数据库架构中获取实体关系图的可能性。

最佳答案

创建具有以下内容的文件pojo.config

output = pojo.graphml
classpath = yourlib.jar
include = **.model.pojo.**


首先,我将文件直接放在Degraph的bin目录中。

classpath值必须指向要分析的字节码,因此必须是jar文件或包含所有类文件的目录。

现在运行(再次从bin目录):

degraph -f pojo.config


Degraph应该打印出找到的类的数量,并在当前目录(即bin)中创建文件pojo.graphml。您可以使用yed打开它。

请参见Degraph for how to create a useful layout with yed的文档。

请注意,Degraph将为包装创建包装盒,并将类包装盒放入这些包装盒中。如果您不喜欢它们,可以打开包装盒,然后删除包装盒。

07-26 05:20