Neo4j SDN4:最近的快照生成已损坏

Neo4j SDN4:最近的快照生成已损坏,neo4j,spring-data-neo4j-4,Neo4j,Spring Data Neo4j 4,启动服务器时刚刚开始获取以下异常: Error creating bean with name 'myRepository': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/mapping/context/InvalidPersistentPropertyPath: org.springframework.data.ma

启动服务器时刚刚开始获取以下异常:

Error creating bean with name 'myRepository': Invocation of init method failed;  nested exception is java.lang.NoClassDefFoundError: org/springframework/data/mapping/context/InvalidPersistentPropertyPath: org.springframework.data.mapping.context.InvalidPersistentPropertyPath
哪些更改可能导致此异常


谢谢。

我正在使用Gradle,遇到了完全相同的问题

InvalidPersistentPropertyPath
似乎是在spring data commons的最新快照版本(1.11.0.build-SNAPSHOT)中引入的。我的项目还包括SpringDataJPA,它依赖于更稳定的版本(1.11.0.M1)。Gradle做了一些冲突解决并使用了M1库,该库没有新类,并导致了
NoClassDefFoundError

目前,我正通过告诉Gradle忽略
spring data commons
作为JPA的可传递依赖项来解决这个问题,以便使用作为SDN的可传递依赖项拉入的快照构建:

compile("org.springframework.data:spring-data-jpa:$springDataJpaVersion") {
  exclude group: "org.springframework.data", module: "spring-data-commons"
}
如果您使用的是Gradle,则可以使用以下方法检查冲突:

./gradlew <project>:dependencies
/gradlew:依赖项

我认为检查每个项目的发布时间表是值得的,但不是因为这个解决方案允许我们的构建继续进行。

我使用的是Maven,带有Spring Boot 1.3.0.M1、Spring-data-neo4j 4.0.0.BUILD-SNAPSHOT和neo4j 2.2.2

正如simonl所建议的,用1.11.0.BUILD-SNAPSHOT覆盖SpringDataCommons 1.11.0.M1解决了这个问题

<!-- Fix ClassNotFoundException: org.springframework.data.mapping.PersistentPropertyAccessor -->
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-commons</artifactId>
    <version>1.11.0.BUILD-SNAPSHOT</version>
</dependency>

org.springframework.data
spring数据共享
1.11.0.1构建快照

我记得过去在使用SDN 3的较新版本Neo4j时必须这样做,但直到现在还不需要SDN 4的spring数据共享覆盖。

这似乎与SDN4无关。这里的这一点:
java.lang.NoClassDefFoundError
表明真正的问题是运行时环境中缺少依赖项或JAR。我认为这可能是由于快照构建中对SDN4/OGM进行了一些重构工作。例如,您能否更新m2回购协议?mvn-UI实际上遇到了完全相同的问题,即使在清除了我的Gradle缓存之后。
InvalidPersistentPropertyPath
data commons库的一部分吗?找到了一个解决方法-请参见下文,现在改为BUILD-SNAPSHOT是正确的做法。我们将努力确保后续版本中的版本正确。谢谢simonl。我将Maven与Spring Boot 1.3.0.M1一起使用,因此我在下面发布了我的修复版本。