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

403 Views Asked by At

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