java-callgraph2 icon indicating copy to clipboard operation
java-callgraph2 copied to clipboard

分析模式不同产生的结果内容存在不一致

Open ZupeiNie opened this issue 1 year ago • 4 comments

你好 在使用过程中,我看到工具可以在配置文件中填入一个jar包的地址或者一个目录,如果是一个jar包会生成一个结果文件夹(模式A),但如果是多行jar包地址或者是目录则会先合成一个jar包再生成结果文件(模式B)。当我输入相同的多个jar包时,模式A得到多个结果文件夹,我将其中的method_call.txt汇总后得到的数据和我输入一个目录(目录下是和模式A相同的jar包)输出一个method_call.txt的内容存在差异,即两种模式分析出来的结果不同。 想请问这两种模式下出现不同结果的原因,十分感谢!

ZupeiNie avatar Mar 31 '23 12:03 ZupeiNie

如果多个jar包是一个项目中的不同的模块,这种情况下最好是把相关的jar包同时在配置文件中指定,因为各个jar包的类之间的实现和继承的关系可以识别出来 如果分开处理的话,这些类的实现和继承判断就没有办法识别,所以分开处理和一起处理的结果会有不同

Adrninistrator avatar Mar 31 '23 12:03 Adrninistrator

我这边处理发现分开的结果存在合并的结果不存在的内容,即这两种情况的结果不是包含关系,数据是互补的

ZupeiNie avatar Mar 31 '23 12:03 ZupeiNie

一般情况下,如果多个jar包之间是有相互使用关系的话,一起分析的结果应该是符合预期的,分开分析会丢失一些信息

Adrninistrator avatar Mar 31 '23 12:03 Adrninistrator

好的,谢谢!

ZupeiNie avatar Mar 31 '23 12:03 ZupeiNie