FreeMarkerConfigurationFactory来源于spring-context-support-4.3.15.RELEASE.jar,这个jar包之前就依赖了,而Configuration来源于freemarker.jar,是common-util.jar传递依赖进来的,所以正好满足了上面的第四步,进而触发了第五步,最终导致SpringBoot启动失败。
汇总解决办法通过上面的一些分析,我认为这个问题一共有以下几种办法:
如果你的项目中没有用到freemarker的话可以禁用freemarker的自动配置,像初步分析那里提到的;
升级freemarker到高版本;
像我遇到的问题一样,确实不需要freemarker功能,可以将freemarker.jar排除;
总结虽然是个很小的问题,但是解决过程确实让我收获不少,之前对于SpringBoot只停留在简单使用阶段,通过这次排查过程,也算是了解了SpringBoot自动配置的大体思想,这种可插拔的设计真的是非常巧妙。
如果觉得有用,请您点个推荐。 参考资料:
https://www.cnblogs.com/nijunyang/p/12051770.html
https://blog.csdn.net/ZYC88888/article/details/84245127