jQassistant 评估因多个项目而失败

问题描述 投票:0回答:1

我正在将 jqassistant-maven-plugin 版本 1.10.1 与常见的 Neo4j 数据库一起使用,并尝试整理来自多个基于 Spring boot 的 java 应用程序的扫描。我已禁用重置数据库,以便我可以整理来自多个项目的扫描信息,并识别从其他应用程序内调用 API 服务的 API 客户端,并查看是否存在任何循环依赖项。当我这样做时,第一个 Maven 构建工作正常。但是当我运行第二次应用程序扫描时,它失败并出现以下错误:

org.neo4j.driver.exceptions.DatabaseException:当起始节点和结束节点相同时,最短路径算法不起作用。如果您这样做,就会发生这种情况 在笛卡尔积之后执行最短路径搜索,该笛卡尔积可能具有相同的起始节点和结束节点 传递给最短路径的行数。如果您不想经历此异常,并且可以接受 可能会丢失这些行的结果,请通过设置在 Neo4j 配置中禁用此功能

cypher.forbid_shortestpath_common_nodes
为假。如果您无法接受缺失结果,并且确实想要 两个公共节点之间的最短路径,然后使用标准 Cypher 可变长度模式重写查询 表达式后跟按路径长度排序并限制为一个结果。

类的包名称不同,可能有几个类的名称可能相似,但完全限定名称不应造成名称冲突。不确定是什么原因导致此问题以及如何解决此问题。任何帮助将不胜感激。

编辑 失败的查询如下:

UNWIND $batch as entry 
CREATE (n:File:Directory:Package:Java) 
SET n=entry['n']   
RETURN collect({oldId:entry['id'], newId:id(n)}) as nodes', {batch=[{n={name=controller, file
Name=/com/mycompany/client/controller, fqn=com.mycompany.client.controller}, id=-9}]}

不幸的是,我无法控制由 jqassistant-maven-plugin 自动生成的查询。

java neo4j cypher jqassistant
1个回答
0
投票

感谢@dirk-mahler。我能够使用最新版本的命令行 jqassistant 1.12.2 扫描多个项目。我使用的是旧版本的 jqassistant maven 插件 1.10.1,它失败并出现一些奇怪的错误。

© www.soinside.com 2019 - 2024. All rights reserved.