错误java.lang.ClassNotFoundException:reactor.core.scheduler.TimedScheduler

时间:2018-04-21 18:22:54

标签: java spring reactive

在编写用于测试Flux服务的测试用例时,我遇到以下错误:

FILE

我的代码就像:

java.lang.ClassNotFoundException: reactor.core.scheduler.TimedScheduler

我在pom中有以下依赖项:

FluxExchangeResult<Event> result = webTestClient.get()
.uri("/events")
.accept(MediaType.TEXT_EVENT_STREAM)
.exchange()
.expectStatus()
.isOk()
.returnResult(Event.class);

Flux<Event> eventFlux = result.getResponseBody();
StepVerifier.create(eventFlux)
.expectNextCount(10)
.expectComplete()
.verify();

有人面对并解决了类似的问题吗? 我从Dzone文章中引用了https://dzone.com/articles/spring-webflux-a-basic-crud-application-part-1

3 个答案:

答案 0 :(得分:0)

尝试删除你的maven(.m2)存储库并构建agin。

答案 1 :(得分:0)

reactor-test目前只有3.0.7.RELEASE,其中包含reactor-core:3.0.7.RELEASE

当版本不匹配时,您将遇到未找到的类。

因此,你可以这样做

<properties>
    <reactor.version>3.0.7.RELEASE</reactor.version>
</properties>

<dependencies>
    <dependency>
        <groupId>io.projectreactor</groupId>
        <artifactId>reactor-core</artifactId>
        <version>${reactor.version}</version>
    </dependency>  
    <dependency>
        <groupId>io.projectreactor.addons</groupId>
        <artifactId>reactor-test</artifactId>
        <version>${reactor.version}</version>
    </dependency>
</dependencies>

但是,您可能希望从this documentation开始获取最新的兼容版本。

答案 2 :(得分:0)

我使用了错误的依赖:

<dependency>
    <groupId>io.projectreactor.addons</groupId>
    <artifactId>reactor-test</artifactId>
    <version>3.0.7.RELEASE</version>
</dependency>

正确的是:

<dependency>
    <groupId>io.projectreactor</groupId>
    <artifactId>reactor-test</artifactId>
    <version>3.1.0.RELEASE</version>
    <scope>test</scope>
</dependency>

显示为google热门搜索的那个可能会用于其他用途。