java - 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
那么这个错误就消失了。我试图理解为什么?
解决方案
正如评论中所讨论的,jar 已损坏(当您升级到较新版本并且网络级别发生错误时可能会发生这种情况)。从 maven 或 gradle 缓存中清除它通常足以解决问题。
推荐阅读
- python - 保证不存在文件的单元测试夹具
- kubernetes - kubernetes - 我们可以创建具有高可用性的 2 节点 master-only 集群吗
- c# - 尝试将 Web API 连接到 oracle db
- ios - 解压缩下载的文件 URL 后没有弹出文件
- python-3.x - 关于从文件计算传入数据的问题
- ibm-cloud - IBM Watson Assistant:如何将图像作为聊天机器人响应发送
- vscode-settings - 视觉工作室代码设置只显示文件的前导部分而不是完整的文件名
- javascript - 如何用javascript分隔字符串?
- android - 在 Listview 内部,为 android 中的每一行显示编辑和删除按钮
- windows - 从批处理文件中以静默方式运行带有参数的 exe