我正在使用jqassistant-maven-plugin版本1.10.1与常见的Neo4j数据库,并试图整理扫描多个基于Sping Boot 的Java应用程序。我已经禁用了重置数据库,这样我就可以整理来自多个项目的扫描信息,并识别从其他应用程序中调用API服务的API客户端,并查看是否存在任何循环依赖关系。当我这样做时,第一个maven构建工作正常。但是当我运行第二次应用程序扫描时,它失败并出现以下错误:
org.neo4j.driver.exceptions.DatabaseException:当起始节点和结束节点相同时,最短路径算法不起作用。如果在传递给shortestPath的某些行的开始节点和结束节点可能相同的笛卡尔积之后执行shortestPath搜索,就会发生这种情况。如果您不希望遇到这种异常,并且可以接受这些行丢失结果的可能性,请通过将cypher.forbid_shortestpath_common_nodes
设置为false,在Neo4j配置中禁用此异常。如果你不能接受丢失的结果,并且确实想要两个公共节点之间的最短路径,那么使用标准的Cypher可变长度模式表达式重写查询,然后按路径长度排序并限制为一个结果。
类的包名是不同的,可能有几个类的名称相似,但完全限定名不应造成名称冲突。不知道是什么原因造成的,以及如何解决。如果你能帮忙的话,我会很感激的。
EDIT失败的查询如下:
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自动生成的查询。
1条答案
按热度按时间aurhwmvo1#
感谢@dirk-mahler。我能够用最新版本的jqassistant 1.12.2命令行扫描多个项目。我使用的是旧版本的jqassistant maven插件1.10.1,它出现了一些奇怪的错误。