1

これが私の pom.xml の依存関係です。

    <dependency>
        <groupId>io.spring.platform</groupId>
        <artifactId>platform-bom</artifactId>
        <!--<version>1.1.4.RELEASE</version> -->
        <version>2.0.7.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
    <dependency>
        <!-- Import dependency management from Spring Boot -->
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>1.4.0.RELEASE</version>
        <!--<version>1.2.7.RELEASE</version> -->
        <type>pom</type>
        <scope>import</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-releasetrain</artifactId>
        <version>Hopper-SR2</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-neo4j</artifactId>
        <version>4.1.0.RC1</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

および他の多くの依存関係

私のアプリケーションは、トランザクション データ ストレージにインメモリ ダービー (組み込みプロファイル)/MySQL(リモート プロファイル) を使用し、Neo4j グラフ データベースを使用して階層データ ストレージを処理します。私の要件は、Maven プロファイルに基づいてリモート モードと組み込みモードの両方で Neo4j を実行することです。デフォルトでは、Spring バージョン マネージャーは古いバージョンの Spring-data-neo4j (3.xx) を使用しますが、組み込みの Neo4j サポートはリリース 4.0.0 以降でのみ使用できます。上記の構成でアプリケーションをビルドすると、次のようなエラーが発生します。

// ...exception stacktrace

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'locationRepository': Invocation of init method failed; nested exception is java.lang.AbstractMethodError
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545)
    ... 57 common frames omitted
Caused by: java.lang.AbstractMethodError: null
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.<init>(RepositoryFactorySupport.java:416)
    at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:206)
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:251)
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:237)
    at org.springframework.data.neo4j.repository.support.GraphRepositoryFactoryBean.afterPropertiesSet(GraphRepositoryFactoryBean.java:43)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
    ... 67 common frames omitted

このエラーは、Spring-data-commons のバージョンが競合しているためだと思います。このエラーを回避する方法はありますか?

4

1 に答える 1

0

Hopper-SR2は Spring-data-neo4j 4.1.2 をサポートしています。なぜ 4.1.0.RC1 にダウングレードするのですか? 削除してダウングレードするか、明示的に 4.1.2 に設定してみてください。

それでも 3.x バージョンを取得していると思われる場合は、以下を実行して、3.x バージョンに含まれているものを探してください。

mvn dependency:tree -Dverbose -Dincludes=spring-data-neo4j

同じプロセスを使用して、spring-data-commons との競合を探すことができます。include パラメーターを変更するだけです (または、すべての依存関係に対して省略します)。競合が見つかった場合は、正しいバージョンを pom.xml に明示的に含めてください。

于 2016-08-01T15:54:03.870 に答える