0

Я выполняю миграцию существующего приложения из 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, а баночка пропускается. Почему это так? Является исполняемым банком не файл?

Какие шаги я могу предпринять, чтобы запустить это? Возможно, я мог бы использовать какой-то другой механизм развертывания, но я нашел это довольно простым и хорошо работающим.

ответ

0

Я провел некоторое дополнительное расследование, и выяснилось, что это не было связано с запущенной баночкой вообще. Это было фактически вызвано наличием пробела на пути к файлу jar.

Я думаю, что это совершенно правильный случай, и я не уверен, почему это не работает. В моем случае это было нормально, хотя просто переименовать соответствующую папку и удалить пробел.

+0

Не могли бы вы зарегистрировать проблему здесь? Https://github.com/neo4j/neo4j-ogm/issues – Luanne

+0

Уверен: https://github.com/neo4j/neo4j-ogm/issues/220 – geld0r