2015-06-17 5 views
1

Когда я использую Spring-Data-Neo4J с 3.2.1.RELEASE verison и Neo4J с 2.1.5, мое приложение выполняется успешно. Когда я перенести мой Neo4J версии 2.2.2 и Spring-Data-Neo4J к 3.2.2.RELEASE я получаю следующее исключение:Spring-Data-Neo4j: Как Spring-Data-Neo4j управления версиями Neo4j

Caused by: java.lang.NoClassDefFoundError: org/neo4j/kernel/impl/transaction/SpringTransactionManager 
at org.springframework.data.neo4j.config.JtaTransactionManagerFactoryBean.createTransactionManagerForOnePointEight(JtaTransactionManagerFactoryBean.java:110) 
at org.springframework.data.neo4j.config.JtaTransactionManagerFactoryBean.createJtaTransactionManager(JtaTransactionManagerFactoryBean.java:91) 
at org.springframework.data.neo4j.config.JtaTransactionManagerFactoryBean.create(JtaTransactionManagerFactoryBean.java:65) 
at org.springframework.data.neo4j.config.JtaTransactionManagerFactoryBean.<init>(JtaTransactionManagerFactoryBean.java:35) 
at com.harmeetsingh13.config.Neo4jConfig.neo4jTransactionManagerFactoryBean(Neo4jConfig.java:48) 
at com.harmeetsingh13.config.Neo4jConfig.neo4jTransactionManager(Neo4jConfig.java:66) 
at com.harmeetsingh13.config.Neo4jConfig$$EnhancerBySpringCGLIB$$f77a14f4.CGLIB$neo4jTransactionManager$1(<generated>) 
at com.harmeetsingh13.config.Neo4jConfig$$EnhancerBySpringCGLIB$$f77a14f4$$FastClassBySpringCGLIB$$b430987b.invoke(<generated>) 
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) 
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312) 
at com.harmeetsingh13.config.Neo4jConfig$$EnhancerBySpringCGLIB$$f77a14f4.neo4jTransactionManager(<generated>) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:483) 
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166) 
... 81 more 
Caused by: java.lang.ClassNotFoundException: org.neo4j.kernel.impl.transaction.SpringTransactionManager 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1333) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1180) 
... 97 more 

Это потому, что наша dependencies версия не совместимы. Итак, как Spring-Data-Neo4J управляют версиями Neo4J?

Можно ли использовать Spring-Data-Neo4J 3.2.2.RELEASE с Neo4J 2.2.2?

UPDATE

После @MichaelHunger предложение, я использую следующие зависимости Spring-Data-neo4J 3.4.0.M1 и Neo4J 2.2.2. Поэтому мой следующий граф зависимостей является:

Dependency Graph

+0

И что произошло после того, как вы обновили версии? Можете ли вы просить показать результат зависимости mvn: дерево не скриншот? –

ответ

1

Вы должны использовать 3.4.0.M1 или 3.3.1 (который из-за эту неделю) оба из которых обеспечивает совместимость с Neo4j 2.2.2

+0

Здравствуйте, @Michael version '3.3.1' не существует в репозитории, а' 3.4.0.M1' - это версия 'pre', я думаю, что это не хорошо для производства. Но я проверю это. –

+0

Hey @MichaelHunger, когда я использую 'Spring-Data-neo4J 3.4.0.M1' и' Neo4J 2.2.2', я получаю следующую ошибку зависимостей 'Отсутствует артефакт org.neo4j: neo4j-cypher-dsl: jar: 2.0 .1'. Но у меня есть 'neo4j-cypher-dsl: jar: 2.0.1' зависимость в моем пути к классу. –

+0

Можете ли вы проверить с помощью зависимости mvn: tree? –

Смежные вопросы