Существует очень экспериментальное (и, следовательно, еще не задокументированное) свойство для плагина сканера файлов, которое позволяет фильтровать файлы во время сканирования, но функциональность весьма ограничена. Предполагая, что вы сканируете с помощью утилиты командной строки:
- Создайте файл scan.properties со следующим содержимым:
file.include=*.war,*.jar,/org/springframework/**
Первый шаблон включает в себя ваш WAR-файл, второй — все содержащиеся JAR-файлы (внутри WAR), последний — нужные вам пакеты (в данном случае org.springframework).
- Выполнить интерфейс командной строки
jqassistant -p scan.properties -f application.war
Альтернатива (т. е. удаление всех узлов из JAR-файлов, которые вам не интересны) невозможна, так как это окажется довольно дорогим запросом.
Но может иметь смысл подумать и наоборот: просто добавьте метку ко всем интересующим вас архивам JAR, например.
MATCH
(jar:Jar)
WHERE
jar.fileName starts with "/WEB-INF/lib/spring-"
SET
jar:Internal
RETURN
jar.fileName
Затем вы можете использовать эту метку в запросах для ваших типов Java:
MATCH
(:Internal:Jar)-[:CONTAINS]->(type:Type)
RETURN
type.fqn
person
Dirk Mahler
schedule
08.03.2018