问题:在application.properties文件配置了kafka配置项,却没有生效。项目启动起来,加载的仍是kafka默认的配置。
分析: 首先,我这是一个maven多模块的工程,一般情况,在主模块下面不写代码,在其他分模块下写。但是,我在主模块写了代码,在主模块下配置了application.properties,而主模块的pom文件里有<packaging>pom</packaging>,package打包的方式主要有pom,jar,war,默认是jar。pom打包的方式,在多模块工程中,父类型都为pom类型,以pom打包的方式的好处见https://www.jb51.net/article/201309.htm,就是以最短路径找到依赖,路径长度相同时,则会引入先申明的依赖。application.properties文件的kafka配置项之所以加载不到,原因可能是加载了先声明的依赖,kafka有默认的配置。
解决办法:去掉<packaging>pom</packaging>,或者不要在主模块写代码。
总结:不要在多模块工程下的父模块下写代码、写application.properties文件。造成以上的问题,还是源于自己对多模块聚合工程的理解不够深刻。