Open Jianing163 opened 3 months ago
都可以,是不同的方式
意思是我在我的项目里 的pom文件添加这个maven。就可以了吗
会报错:
Could not find artifact com.github.adrninistrator:java-all-call-graph:provided:2.0.3 in huaweicloud (https://mirrors.huaweicloud.com/repository/maven/)
Try to run Maven import with -U flag (force update snapshots)
我搞不定.... 有点笨
您看一下 上面的截图 我导入进去了 然后我启动我的项目 抱错呢
我找了一个Maven项目试了下,是可以引入相关组件的
好了 大佬 然后怎么用哇,启动本地项目吗,我启动了就报错呢
报错是上面的截图吗,看起来和当前组件没有关系
然后怎么使用呀 大佬
参考https://github.com/Adrninistrator/java-all-call-graph/blob/main/how_to_use.md 首先执行4.2. 释放启动类及配置文件 再执行4.3. 生成Java方法调用关系并写入数据库 按需要执行4.4、4.5 github的图片可能没有显示,gitee上的能显示
https://github.com/user-attachments/assets/b1066b85-b85a-4d5a-bdd8-50482a49093a
是我哪里操作的不对吗 没有看到【需要选择classpath对应模块为test。】能配置的 地方
<dependency>
<groupId>com.github.adrninistrator</groupId>
<artifactId>java-all-call-graph</artifactId>
<version>2.0.3</version>
<scope>test</scope>
</dependency>
我试了一下,pom.xml里的依赖这样写就可以了,使用Gradle时才需要注意“需要选择classpath对应模块为test”
我有两个问题 大佬,问题1 对应图中的1,我有test/java 但是没有往里面写,第二个问题就是 乱码...
1.当前项目根目录没有test/java目录,在ws-console-...目录中才有test/java目录,可以把执行时的当前目录修改为ws-console-... 2.文件编码是UTF-8,需要修改IDEA的文件编码
大佬我又遇到问题了 ,方便加您个联系方式吗。一直这样问您感觉活在古代里 =-v-=
现在是没有“当出现方法循环调用时,会显示出现循环调用的方法,格式为“!cycle[x]!”这个标识了吗,现在我试了很多只有!no_callee!标识,有最新的文档吗 大佬
大佬哇,数据库哪些表之间的关联关系有文档吗,
大佬 数据库中为什么现实的是实现关系,interface 继承interface,在数据库中显示实现关系 这个是为什么
大佬哇,数据库哪些表之间的关联关系有文档吗,
同名字段一般值是相同的,看需要查什么数据,其他关联的字段名字不同的很少
大佬 数据库中为什么现实的是实现关系,interface 继承interface,在数据库中显示实现关系 这个是为什么
java代码编译成class以后就是这样,接口继承接口时属于实现关系
大佬,怎么能一次性将一整个项目的调用关系写到数据库中呢,我现在只会一个模块一个模块的查看,我想串起来 怎么做呢
现在是没有“当出现方法循环调用时,会显示出现循环调用的方法,格式为“!cycle[x]!”这个标识了吗,现在我试了很多只有!no_callee!标识,有最新的文档吗 大佬
首先执行gradlew test_gen_jar生成测试jar包
再分别执行 test.runbycode.TestRBC0RunnerWriteDb test.runbycode.TestRBCRunnerGenAllGraph4Caller
在生成的TestExtendComplex@test1@xxx.txt文件中会出现!cycle:
[6]# [ChildClassB1:0] test.callgraph.extendcomplex.AbstractSuperClassB:entryA !cycle[2]!
大佬,怎么能一次性将一整个项目的调用关系写到数据库中呢,我现在只会一个模块一个模块的查看,我想串起来 怎么做呢
把需要分析的jar包都添加到配置文件_jacg_config\jar_dir.properties中,或者把jar包所在目录写进去
啊?大佬 我是maven项目,我进入了maven的工程,我还需要gradlew test_gen_jar吗?
啊?大佬 我是maven项目,我进入了maven的工程,我还需要gradlew test_gen_jar吗?
当前项目是使用gralde构建,上面的命令用来编译测试代码生成jar包,如果要使用maven的话需要新写一个编译测试代码的任务
我没太明白 什么意思,我的疑虑就是:我现在是maven项目,我想用您写的这个代码 然后看一下我这个项目的个个调用情况,我只导入以下maven包的话 并不能满足我的需求吗?
<artifactId>java-all-call-graph</artifactId>
<version>2.0.3</version>
<scope>test</scope>
</dependency>
2:第二个就是 我现在的项目是一个父project项目 的<packaging>pom</packaging>是pom形式,下面有很多个模块 基本是都是jar包,我是要在父poject中的pom文件中导入以上maven工程 然后在jar_dir.properties中加入它下面的多个jar包 然后运行就可以了吗
上面说的gradlew test_gen_jar,是针对你提出的问题没有找到!cycle,如果不关心这个就不用处理
2:第二个就是 我现在的项目是一个父project项目 的pom是pom形式,下面有很多个模块 基本是都是jar包,我是要在父poject中的pom文件中导入以上maven工程 然后在jar_dir.properties中加入它下面的多个jar包 然后运行就可以了吗
上面有说了,加到配置文件就可以,再执行写数据库的类
是这样的大佬,我把maven父工程中添加了,然后我执行TestRunnerWriteDb 就会有这个报错
我设置以上信息后报错如下:
log4j2没配置,日志没打印出来,项目里有lo4gj2的示例文件 正常执行时会打印当前使用的配置文件的路径
2024-08-07 20:22:58.485 [main] INFO ConfigureWrapper.<init>(123) - 使用配置文件中的参数
2024-08-07 20:22:58.565 [main] INFO JavaCGFileUtil.findFile(209) - 从classpath中获取文件 file:/D:/java-all-call-graph/out/test/resources/_jacg_config/config.properties
我在Maven项目试了一下是正常的,读取的配置文件路径不同,读取的是target/test-classes/_jacg_config目录,文件来源是从src\test\resources_jacg_config目录的配置文件自动拷贝过来的
2024-08-07 20:33:35.723 [main] INFO ConfigureWrapper.<init>(123) - 使用配置文件中的参数
2024-08-07 20:33:35.777 [main] INFO JavaCGFileUtil.findFile(209) - 从classpath中获取文件 file:/D:/target/test-classes/_jacg_config/config.properties
你试的maven项目是在父工程的试的吗?,我在我的父工程一直不成功。。。
我没有用maven的父工程,只有一层结构的工程 上面日志会显示当前读取的配置文件路径,去看下对应文件的内容有没有值
单个模块 我已经成功了,我是想看整个工程的结构.. 为什么有这个想法呢 ,因为您支持多个jar包,我在我的A模块中 添加了A.jar和B.jar之后,我执行保存到数据库中的文件,我去查看数据库里只有B.jar的信息,我看您控制台打印的日志中,会清除数据库中的数据然后再添加, 所以有问题了之后 我在想通过父工程试试看,结果父工程一直都运行不了
不需要把这个组件添加到maven的父工程,需要解析的jar包在jar_dir.properties配置文件里指定,分析任意位置的jar包或者class文件所在目录都可以
对不起 您不用试了 我没有刷新数据库, 我现在试了一下是完美的,感谢您
好的,能满足要求就好
允许我斗胆再问一下,我想梳理您建立的这些48张表的关系,您有写文档说明吗,类似于 A表通过b_id与B表进行关联, 因为我想看一下您的那个向上和向下的树形数据都是获取的哪些表以及字段。
方法调用关系涉及的表不多,主要在method_call表里
明白了 感谢您无私的贡献 谢谢您
大佬 我又来了,您的那个java-all-call-graph这个项目 gradle的版本是多少版本的呢,jdk是多少版本的呢,
gradle wrapper 7.5.1 JDK 1.8 在项目的的gradle配置文件能看出来,查看方法可以通过gpt查询
我完全没看懂是怎么操作,是让我通过源码启动你这个项目呢 还是通过maven来添加这个 功能,还是说两者结合