我刚刚使用命令行工具对jQAssistant v1.0.0进行了一些操作,以扫描项目的一些JAR档案,如bin\jqassistant.cmd scan -f lib
。不幸的是,这为每个只通过公共:Directory
节点连接的jar创建了一个子图。例如,我得到15个节点(:Type {name: "int"})
,这显然没用。具体来说,我无法创建跨越整个项目的任何查询,这些查询被划分为单独的jar(例如,layers,api,impl)。所以我得到一个:Archive
节点,其中包含一个接口和另外三个需要该接口的:Archive
节点,但有四个不同的接口节点具有相同的fqn。
我做错了什么,或者这不适用于多个JAR?提前谢谢。
答案 0 :(得分:1)
此行为目前是有意的 - 如果从CLI扫描JAR文件,则不知道这些文件之间的依赖关系。因此,类型解析的范围仅限于类所在的JAR文件的上下文。 已经讨论过向Java扫描程序添加配置属性,该属性可以对所有扫描的工件进行全局类型解析。
现在你可以尝试应用这个概念" classpath:Resolve"到你的数据库:
jqassistant.sh analyze -concepts classpath:Resolve
这需要一些时间,但结果应符合您的需求。