alexanoid
alexanoid

Reputation: 25862

Neo4j 2.2.3 ClassNotFoundException: org.neo4j.kernel.impl.transaction.XaDataSourceManager

This is my Maven config for Neo4j:

    <properties>
        <neo4j.version>2.2.3</neo4j.version>
    </properties>

    <!-- neo4j -->
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-enterprise</artifactId>
        <version>${neo4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-ha</artifactId>
        <version>${neo4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-kernel</artifactId>
        <version>${neo4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-kernel</artifactId>
        <version>${neo4j.version}</version>
        <classifier>tests</classifier>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-io</artifactId>
        <version>${neo4j.version}</version>
        <classifier>tests</classifier>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-lucene-index</artifactId>
        <version>${neo4j.version}</version>
    </dependency>

During the application startup I have a following exception:

Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.extension.KernelExtensions@30bb7d0d' failed to initialize. Please see attached cause exception.
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:489)
    at org.neo4j.kernel.lifecycle.LifeSupport.init(LifeSupport.java:72)
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:106)
    at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:331)
    ... 127 more
Caused by: java.lang.NoClassDefFoundError: org/neo4j/kernel/impl/transaction/XaDataSourceManager
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.privateGetPublicMethods(Unknown Source)
    at java.lang.Class.getMethods(Unknown Source)
    at sun.misc.ProxyGenerator.generateClassFile(Unknown Source)
    at sun.misc.ProxyGenerator.generateProxyClass(Unknown Source)
    at java.lang.reflect.Proxy$ProxyClassFactory.apply(Unknown Source)
    at java.lang.reflect.Proxy$ProxyClassFactory.apply(Unknown Source)
    at java.lang.reflect.WeakCache$Factory.get(Unknown Source)
    at java.lang.reflect.WeakCache.get(Unknown Source)
    at java.lang.reflect.Proxy.getProxyClass0(Unknown Source)
    at java.lang.reflect.Proxy.newProxyInstance(Unknown Source)
    at org.neo4j.kernel.extension.KernelExtensions.getKernelExtensionDependencies(KernelExtensions.java:119)
    at org.neo4j.kernel.extension.KernelExtensions.init(KernelExtensions.java:62)
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:483)
    ... 130 more
Caused by: java.lang.ClassNotFoundException: org.neo4j.kernel.impl.transaction.XaDataSourceManager
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 145 more

I can't find where XaDataSourceManager is located.

Upvotes: 0

Views: 681

Answers (1)

Ramzy
Ramzy

Reputation: 7148

Xadatasource is present in the neo4j-kernal jar, but with jar version before 2.2.2. Since you are using 2.2.3, you will not find the class in the jar. I think the jar versions you are using are not compatible. Try adding the parent jar and let it reference to the compatible ones.

Upvotes: 2

Related Questions