问题
在使用Gradle构建项目时,遇见了一个奇怪的问题,运行报错如下:
Cannot locate tasks that match ‘:xxxx’ as task ‘xxx’ not found in root project ‘xxxx’.
思路
单看报错,提示在根项目中找不到任务XXX(其实就是找不到子模块)
但找了一圈,根项目配置正常,子模块也正常,各项配置都没问题,那原因会出在哪?
于是跑到stackoverflow上找了一圈,也是毫无进展,但最后在根项目的配置中找到了一点不一样的东西
解决
sourceCompatibility = '17'
targetCompatibility = '17'
这里是关键!
因为项目刚调整为主子结构,即根项目build.gradle作为全部子模块的基础依赖,且在家里电脑上JDK版本是17,自己笔记本是19,且Project Structure及Setting > Gralde中均为19,看来罪魁祸首找到,是JDK版本的问题!
- 解决方案:将以上调整为与本地JDK一致的版本号即可
sourceCompatibility = '19'
targetCompatibility = '19'