[ИСКЛЮЧЕНИЕ]: исключение при выполнении задачи, причина: java.lang.NoClassDefFoundError: org/apache/openjpa/conf/OpenJPAConfiguration

Я начал получать это исключение после добавления новых зависимостей в мой pom.xml, которые связаны с Кассандрой. Я использую это для целей регистрации в моем приложении.

[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 

Вот мой pom.xml:

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

Вот 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>

Даже после включения зависимости openjpa-all в мой файл pom.xml с OpenJPAConfiguration я все еще вижу эту проблему. Любая помощь в этом будет оценена.

1 ответ

Что OpenJPA делает с Кассандрой?

В вашей зависимости от maven я вижу:

  1. Cassandra-водитель-жильный
  2. Cassandra-водитель-отображение
  3. Hector объектно-картостроитель
  4. OpenJPA-все

Если вы используете Cassandra, первых двух зависимостей достаточно. hector-object-mapper бесполезно, потому что вы уже cassandra-driver-mapping а также openjpa-all бесполезен, потому что это никогда не сработает для Кассандры.

Помните, Кассандра!= Реляционная база данных

Другие вопросы по тегам