Я выполняю миграцию существующего приложения из Spring-Data-Neo4j 3.x в 4.1 с помощью neo4j-ogm 2.0.4 , После преодоления некоторых препятствий, он теперь работает нормально, когда запускается непосредственно из среды IDE.Neo4j-Ogm с Spring Boot: сканирование Classpath не находит DomainEntities при развертывании в качестве runnable jar
Однако он не находит никаких DomainEntities, когда я запускаю его через Spring Загрузочной работоспособную баночку:
(ClassPathScanner.java:132) Classpath elements:
(ClassPathScanner.java:134) D:\Programme\Project\myProject.jar
(DomainInfo.java:108) Starting Post-processing phase
(DomainInfo.java:74) Building annotation class map
(DomainInfo.java:87) Building interface class map for 0 classes
(DomainInfo.java:136) Checking for @Transient classes....
(DomainInfo.java:155) Registering converters and deregistering transient fields and methods....
(DomainInfo.java:159) Post-processing complete
(DomainInfo.java:69) 0 classes loaded in 40179 milliseconds
Исполняемый банк построен с использованием Spring загрузкой Gradle плагина, который позволяет сделать банку исполняемым:
springBoot {
executable = true
}
Я приложил к приложению с помощью удаленной отладки при запуске банки и обнаружил, что org.neo4j.ogm.scanner.ClassPathScanner#scan
содержит только мою баночку как classPathElement
. Согласно коду, теперь это должно быть проверено как файл zip/jar. Однако, когда выполняется classPathElement.isFile()
, это оценивается как false, а баночка пропускается. Почему это так? Является исполняемым банком не файл?
Какие шаги я могу предпринять, чтобы запустить это? Возможно, я мог бы использовать какой-то другой механизм развертывания, но я нашел это довольно простым и хорошо работающим.
Не могли бы вы зарегистрировать проблему здесь? Https://github.com/neo4j/neo4j-ogm/issues – Luanne
Уверен: https://github.com/neo4j/neo4j-ogm/issues/220 – geld0r