2017-02-08 2 views
0

Я хотел бы, чтобы просмотреть дополнительные каталоги (профильный-Files):JQAssistant: ScanIncludes и отношения к содержащий каталог/Project

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

, который работает, как видимые в Debug-Output

[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; 

возвращает файлы.

Однако нет: СОДЕРЖИМОЕ Взаимоотношения с Каталогом/Проектом содержатся файлы (в отличие от, например, файла beans.xml).

Существует: CONTAINS Отношения, но только к файловому узлу абсолютного Пути файла, который не помечен как Directory, Artifact или Container.

Есть ли способ создать это отношение через конфигурацию? Возможно через

<scope> 
... 
</scope> 

?

Я не знаю правильных/возможных значений <scope> однако ...

С уважением, Том

ответ

0

scanInclude должен генерировать Directory помеченный узел, представляющий ${project.basedir}/src/main/profiles, который ссылается на CONTAINS соотношением от узла, представляющего проект Maven.

В самой папке должно быть указано отношение ко всем файлам (например, weld.profile).

Как Cypher шаблон структура должна выглядеть следующим образом:

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

Вы можете проверить это?

Параметр scope дает плагинам подсказку о содержании, например. если каталог является выходной папкой компилятора Java, область действия «java: classpath» активирует сканер байт-кода.

+0

Спасибо, как-то я пропустил отношение CONTAINS от Maven Project Node, теперь он выглядит так, как ожидалось. – tom

Смежные вопросы