Я пытаюсь запустить пример Spring для доступа к данным с Neo4j (https://spring.io/guides/gs/accessing-data-neo4j).. Это работает. Но когда я помещаю его в среду Jigsaw (это то, что мне действительно нужно для работы в нашем проекте) и добавить module-info.java, классы сущностей не найдены (карта classInfos в org.neo4j.ogm.metadata.MetaData содержит нулевые значения для объектов ClassInfo).
Я пытался использовать @EntityScan и @Bean для настройки пользовательского Neo4j SessionFactory с пакетом пути к объектам - проблема остается прежней.
Код как в https://spring.io/guides/gs/accessing-data-neo4j.
Я изменил только версию Java на 12 в pom.xml:
<properties>
<maven.compiler.source>12</maven.compiler.source>
<maven.compiler.target>12</maven.compiler.target>
</properties>
И добавил модуль-info.java:
open module neo4j {
requires spring.boot.autoconfigure;
requires spring.data.neo4j;
requires slf4j.api;
requires spring.context;
requires spring.boot;
requires org.neo4j.ogm.core;
requires spring.data.commons;
requires java.sql;
}
Это приводит к следующему исключению:
java.lang.IllegalArgumentException: Class class hello.Person is not a valid entity class. Please check the entity mapping.
Поскольку карта classInfos в org.neo4j.ogm.metadata.MetaData содержит нулевые значения для объектов ClassInfo.