【gradle】Caused by: groovy.lang.MissingMethodException: No signature of method的解决方案和检查方法
最近在编写gradle插件的时候报了这个错。找了一圈网上的方法也没有系统性的检查方法,因此记录一下我在解决这个报错时踩的坑。
出现这个报错最主要的问题肯定就是和这个method相关的脚本出现了方法调用或者环境配置上的问题。因此我们按照这个思路分别检查以下问题。
方法调用引发的报错
- 方法调用时是否存在错误,最低级的错误就是调用的方法名和脚本编写的方法名对不上。按照这个思路顺序检查大小写、单词拼写问题即可。
- 层级结构问题,搞错了脚本方法的层级结构,导致无法调用到对应的方法。
一般遇到这类问题都是比较容易检查的,但也不要忽略这类低级错误的存在。
环境配置引发的报错
这类问题的解决比较复杂,需要仔细检查。我也是在这个地方绕了一圈(说白了还是gradle学艺不精orz)
检查点1:是否需要重新打包
在改写一些前人写的脚本时,可能脚本的源代码只是放在项目中,真正依赖的插件早已是远程仓库中发布的依赖(本人踩坑点其一)。
所以如果要测试,可以根据需要重新将修改后的插件代码打