0

我想扫描其他目录(用于配置文件):

<scanInclude>
    <path>
        ${project.basedir}/src/main/profiles
    </path>
</scanInclude>

正在工作,如调试输出中所示

[INFO] Entering C:/..common/common-api/src/main/profiles
[DEBUG] Scanning /weld.profile

找到的文件按预期在 Neo4J 中可见:

match (f:File) where f.fileName ends with ".profile" return f;

返回文件。

但是,与包含文件的目录/项目没有 :CONTAINS 关系(与例如 beans.xml 文件相反)。

存在 :CONTAINS 关系,但仅与文件绝对路径的文件节点有关,未标记为目录、工件或容器。

有没有办法通过配置创建这种关系?也许通过

<scope>
 ...
</scope>

?

但是,我不知道正确/可能的值<scope>...

问候,汤姆

4

1 回答 1

0

scanInclude 应该生成一个Directory标记节点,表示该节点由代表 Maven 项目的节点${project.basedir}/src/main/profiles的关系引用。CONTAINS

目录本身应该提供CONTAINS与其中所有文件的关系(例如weld.profile)。

作为 Cypher 模式,结构应如下所示:

(project:Maven:Project)-[:CONTAINS]->(profiles:Directory{name:"profiles"}),
(profiles)-[:CONTAINS]->(profile:File{name:"weld.profile"})

你能证实这一点吗?

scope 参数为插件提供了有关内容的提示,例如,如果目录是 Java 编译器的输出文件夹,则范围“java:classpath”将激活字节码扫描器。

于 2017-02-08T19:32:54.800 回答