Gradle Spring Boot多模块项目导入子模块依赖后编译失败求助
解决多模块Spring Boot项目中IDE无报错但Gradle构建包不存在的问题
检查模块B的打包配置
Spring Boot的spring-boot-gradle-plugin默认生成的是可执行JAR,这种JAR的目录结构不适合作为依赖被其他模块引用。如果模块B是Spring Boot模块,需在其build.gradle中调整配置:bootJar.enabled = false jar.enabled = true调整后模块B会生成标准的可依赖JAR,Gradle构建模块A时就能正确识别包路径。
同步IDE与Gradle配置
IntelliJ的依赖解析缓存可能和Gradle实际配置不同步,导致IDE无报错但构建失败:- 点击右侧Gradle面板的「Refresh all Gradle projects」按钮
- 执行
File -> Sync Project with Gradle Files - 若仍有问题,删除项目根目录的
.idea文件夹和各模块的build目录,重新导入项目
确保模块B自身编译正常
先单独执行模块B的clean build任务,确认它能正常编译出build/classes/java/main目录下的class文件。如果模块B自身编译失败,模块A的Gradle构建自然找不到对应的包。检查源集范围
确认模块B中被模块A引用的类都在src/main/java目录下,而非src/test/java——测试源集的代码不会被打包到依赖JAR中,模块A无法访问。
内容的提问来源于stack exchange,提问作者Rishi Bharadwaj
相关产品推荐
相关产品推荐

