如何使用Spring Data Neo4j 3.4.0配置Neo4j存储库



我试图在search.maven.org上从3.3.2版本升级到3.4.0版本的spring data neo4j,但构建现在给出以下异常:

AnnotationFormatError: Invalid default: public abstract java.lang.Class org.springframework.data.neo4j.config.EnableNeo4jRepositories.repositoryBaseClass()

应用程序在3.3.2中运行良好。

下面是配置类:
@Configuration
@EnableNeo4jRepositories(basePackages = { "it.data.neo4j.repository" })
@EnableTransactionManagement
@ComponentScan(basePackages = { "it.data.neo4j.service" })
public class Neo4JRepositoryConfiguration extends Neo4jConfiguration {
  private static Logger logger = LoggerFactory.getLogger(Neo4JRepositoryConfiguration.class);
  public static final String URL = "http://localhost:7474/db/data/";
  public static final String LOGIN = "neo4j";
  public static final String PASSWORD = "xxxx";
  Neo4JRepositoryConfiguration() {
    setBasePackage("it.data.neo4j.domain");
  }
  @Bean
  GraphDatabaseService graphDatabaseService() {
    return new SpringCypherRestGraphDatabase(URL, LOGIN, PASSWORD);
  }
  @Autowired
  LocalContainerEntityManagerFactoryBean entityManagerFactory;
  @Override
  public PlatformTransactionManager neo4jTransactionManager(
      GraphDatabaseService graphDatabaseService) {
    return new ChainedTransactionManager(
        new JpaTransactionManager(entityManagerFactory.getObject()),
        new JtaTransactionManagerFactoryBean(graphDatabaseService).getObject());
  }
}

依赖项是:

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-neo4j</artifactId>
  <version>3.4.0.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-neo4j-rest</artifactId>
  <version>3.4.0.RELEASE</version>
</dependency>

最有可能与spring-data-commons.jar冲突的类路径依赖

确保类路径上的所有jar都使用相同版本的spring-data-commons。

在我的情况下,我有两个jar引用spring-data-commons.jar 1.10和1.11,这导致了这个问题。

您的包it.data.neo4j.repository包含JPA和Neo4j存储库吗?如果是这样,您可能需要将它们隔离到单独的包中。

此外,Spring Data Neo4j version 4与以前的版本相比是一个重大的转变,并且涉及到一些代码迁移,您的实际应用程序代码可能需要调整以与SDN4兼容:

http://docs.spring.io/spring-data/neo4j/docs/4.0.0.RELEASE/reference/html/迁移

最新更新