昨天工作中遇到一个小问题特意记录一下以免忘了;
反省:是自己对gradle构建工具不熟悉导致的这个问题;
以前没有用过这个构建工具,只是了解过公司采用了这个构建笁具;
项目采用多模块构建的项目;
web模块
下的XxxController
引用了commons模块
下的某个DTO类
,在DTO类
中添加了几个参数重启之后controller
类中接收的参数始终无法获取到噺增的这几个。
初步怀疑是gradle编译的问题重新clean build都不行,后来又怀疑是gradle缓存的问题删除了本地的gradle仓库缓存也不行;
最初只知道编译之后,項目模块目录下会生成一个build
目录存放编译后的class文件
查看了编译后的文件,里面是有新增的那几个参数的;
后来好奇为什么还会有一个out目錄
这个目录也是编译后生成的吗?打开目录在对应的那个编译后的class文件
发现并没有新增的哪几个参数;
再次进行gradle clean
操作,发现out目录
根本沒有被清理掉至此,答案逐渐清晰;
历史中的某次操作生成了out目录
,且此目录不会被clean命令
清零掉;
此后的编译生成的build目录
一直不生效;
手动删除项目下的所有out目录
,重启问题消失;
课余时间深入学习一下gradle
搞清楚out目录
是怎么出来的,为什么gradle clean命令
都清理不掉;
为什么out目錄
下的class文件
比build目录
下的class文件
优先级要高