Возникла проблема «NoClassDefFoundError: org / springframework / data / repository / config / BootstrapMode» во время выполнения тестов - PullRequest
1 голос
/ 30 октября 2019

Это файлы, связанные с пружиной, добавленные в мой файл pom.xml

<dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>2.2.0.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-commons</artifactId>
        <version>2.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <version>2.2.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.2.0.RELEASE</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

Я вижу ошибку:

Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 1.185 sec <<< FAILURE! - in com.expedia.www.eps.jobs.air.offline.cancel.sync.LambdaTests
emptyInputShouldReturnEmptyJson(com.expedia.www.eps.jobs.air.offline.cancel.sync.LambdaTests)  Time elapsed: 1.145 sec  <<< ERROR!
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [/Users/a-5594/dev/github/eps-jobs-air-offline-cancel-sync/target/classes/com/expedia/www/eps/jobs/air/offline/cancel/sync/dataaccess/WebNotifyManager.class]; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/repository/config/BootstrapMode
	at com.expedia.www.eps.jobs.air.offline.cancel.sync.LambdaTests.emptyInputShouldReturnEmptyJson(LambdaTests.java:40)
Caused by: java.lang.NoClassDefFoundError: org/springframework/data/repository/config/BootstrapMode
	at com.expedia.www.eps.jobs.air.offline.cancel.sync.LambdaTests.emptyInputShouldReturnEmptyJson(LambdaTests.java:40)
Caused by: java.lang.ClassNotFoundException: org.springframework.data.repository.config.BootstrapMode
	at com.expedia.www.eps.jobs.air.offline.cancel.sync.LambdaTests.emptyInputShouldReturnEmptyJson(LambdaTests.java:40)

sentenceShouldReturnFlatJsonWithWordsAndCounts(com.expedia.www.eps.jobs.air.offline.cancel.sync.LambdaTests)  Time elapsed: 0.033 sec  <<< ERROR!
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [/Users/a-5594/dev/github/eps-jobs-air-offline-cancel-sync/target/classes/com/expedia/www/eps/jobs/air/offline/cancel/sync/dataaccess/WebNotifyManager.class]; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/repository/config/BootstrapMode
	at com.expedia.www.eps.jobs.air.offline.cancel.sync.LambdaTests.sentenceShouldReturnFlatJsonWithWordsAndCounts(LambdaTests.java:49)
Caused by: java.lang.NoClassDefFoundError: org/springframework/data/repository/config/BootstrapMode
	at com.expedia.www.eps.jobs.air.offline.cancel.sync.LambdaTests.sentenceShouldReturnFlatJsonWithWordsAndCounts(LambdaTests.java:49)
Caused by: java.lang.ClassNotFoundException: org.springframework.data.repository.config.BootstrapMode
	at com.expedia.www.eps.jobs.air.offline.cancel.sync.LambdaTests.sentenceShouldReturnFlatJsonWithWordsAndCounts(LambdaTests.java:49)

Я пытался изменить разные версии spring / jpa и т. Д. В pom.xml, но проблема все еще существует.

1 Ответ

0 голосов
/ 31 октября 2019

Ваша версия spring-data-commons слишком старая, и эта версия не имеет класса BootstrapMode. Пожалуйста, попробуйте обновить его до 2.2.0.RELEASE, как для других зависимостей пружин.

Вероятно, хорошей идеей будет определить свойство версии в вашем pom:

<properties>
    <spring.version>2.2.0.RELEASE</spring.version>
</properties>

А затем в ваших зависимостях использовать его следующим образом:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-commons</artifactId>
    <version>${spring.version}</version>
</dependency>

ДалееЕсли вы хотите обновить Spring, вы можете сделать это в одном месте.

...