Ihave started receiving this exception after including new dependencies in my pom.xml which are related to Cassandra. I'm using it for logging purpose in my application.

[EXCEPTION]:Task execution exception, Cause : java.lang.NoClassDefFoundError: org/apache/openjpa/conf/OpenJPAConfiguration

java.lang.NoClassDefFoundError: org/apache/openjpa/conf/OpenJPAConfiguration
    at java.lang.Class.getDeclaredConstructors0(Native Method) ~[na:1.7.0_79]
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2585) ~[na:1.7.0_79]
    at java.lang.Class.getConstructor0(Class.java:2885) ~[na:1.7.0_79]
    at java.lang.Class.newInstance(Class.java:350) ~[na:1.7.0_79]
    at org.apache.geronimo.osgi.locator.ProviderLocator.getServices(ProviderLocator.java:319) ~[geronimo-jpa_2.0_spec-1.1.jar:1.1]
    at javax.persistence.spi.PersistenceProviderResolverHolder$DefaultPersistenceProviderResolver.getPersistenceProviders(PersistenceProviderResolverHolder.java:108) ~[geronimo-jpa_2.0_spec-1.1.jar:1.1]
    at javax.persistence.Persistence$PersistenceUtilImpl.isLoaded(Persistence.java:278) ~[geronimo-jpa_2.0_spec-1.1.jar:1.1]
    at org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:62) ~[hibernate-validator-4.1.0.Final.jar:4.1.0.Final]
    at org.hibernate.validator.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:94) ~[hibernate-validator-4.1.0.Final.jar:4.1.0.Final]
    at org.hibernate.validator.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:47) ~[hibernate-validator-4.1.0.Final.jar:4.1.0.Final]org.hibernate.validator.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:324) ~[hibernate-validator-4.1.0.Final.jar:4.1.0.Final]
    at org.hibernate.validator.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:757) ~[hibernate-validator-4.1.0.Final.jar:4.1.0.Final]
    at 

Here's my pom.xml :

<dependencies>
        <dependency> 
            <groupId>com.app.cops</groupId>
            <artifactId>logging</artifactId>
            <version>0.0.5-SNAPSHOT</version>
        </dependency>
</dependencies> 

Here's the logging project's pom.xml :

<dependencies>
    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>3.0.0</version>
    </dependency>   
    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-mapping</artifactId>
        <version>3.0.0</version>
    </dependency>   
    <dependency>
    <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>19.0</version>
    </dependency>
    <dependency>
        <artifactId>hector-object-mapper</artifactId>
        <groupId>org.hectorclient</groupId>
        <version>3.1-10</version>
    </dependency>
    <dependency>
        <groupId>org.apache.openjpa</groupId>
        <artifactId>openjpa-all</artifactId>
        <version>2.0.0</version>
    </dependency>
</dependencies>

Even after including the openjpa-all dependency in my pom.xml which has the OpenJPAConfiguration I still see this issue. Any help on this would be appreciated.

1

There are 1 best solutions below

0
On

What's is OpenJPA doing with Cassandra ?

In your maven dependency, I can see:

  1. cassandra-driver-core
  2. cassandra-driver-mapping
  3. hector-object-mapper
  4. openjpa-all

If you're using Cassandra, the first 2 dependencies are enough. hector-object-mapper is useless because you have already cassandra-driver-mapping and openjpa-all is useless because it will never work for Cassandra.

Remember, Cassandra != relational database