首页 > 解决方案 > Spring Boot 模块未找到错误

问题描述

我正在 Java 9 上创建一个 Spring Boot 应用程序。如果我在 pom.xml 中保持父级如下:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
</parent>

并且module-info.java作为:

module com.journaldev.spring.SpringWebflux {
    requires reactor.core;
    requires spring.web;
    requires spring.context;
    requires spring.webflux;
    requires spring.boot;
    requires spring.boot.autoconfigure;
}

然后我收到错误,因为找不到模块。

module-info.java:[2,21] module not found: reactor.core
module-info.java:[3,20] module not found: spring.web
module-info.java:[4,20] module not found: spring.context
module-info.java:[5,20] module not found: spring.webflux
module-info.java:[6,20] module not found: spring.boot
module-info.java:[7,25] module not found: spring.boot.autoconfigure

如果我将spring-boot-starter-parent版本降低到2.0.0.RELEASE那么这个错误就消失了。我试图理解为什么?

标签: javaspring-bootjava-9

解决方案


正如评论中所讨论的,jar 已损坏(当您升级到较新版本并且网络级别发生错误时可能会发生这种情况)。从 maven 或 gradle 缓存中清除它通常足以解决问题。


推荐阅读