Spring Boot多模块Gradle项目运行main方法子模块路径找不到问题
解决多模块Spring Boot项目运行main方法时Gradle找不到子模块的问题
针对你遇到的问题,这里有几个可行的排查和解决方向:
先确保子模块已完成构建
Gradle运行主模块的main任务时,不会自动触发依赖子模块的构建(测试任务通常会自动关联依赖构建)。手动执行./gradlew :libs:models:compileJava(或:libs:models:build)构建子模块后,再运行main任务试试。检查settings.gradle中的模块声明
确认你的settings.gradle(或settings.gradle.kts)里已经正确包含了子模块,路径拼写完全一致:// settings.gradle示例 include(":libs:models") // 如果模块的实际文件路径和声明的逻辑路径不一致,需要指定projectDir: // project(":libs:models").projectDir = file("./path/to/actual/models")配置bootRun任务依赖子模块构建
在主模块的build.gradle里,给bootRun任务添加依赖,确保运行前先构建子模块:bootRun { dependsOn(":libs:models:compileJava") }这样每次执行bootRun时,Gradle都会先确保子模块的代码已编译完成。
排查Testcontainers开发时配置的干扰
如果你在配置Testcontainers开发时支持(比如用了developmentOnly或者相关插件),检查是否不小心修改了main源码集的依赖配置,比如是否把模块依赖误放到了仅测试生效的配置块里。确保implementation project(":libs:models")确实在主模块的dependencies根块下,而非testImplementation或其他仅测试的配置。
内容的提问来源于stack exchange,提问作者dardo
相关产品推荐
相关产品推荐

