SpringBoot项目启动类编译,检查代码后没有发现问题,导包正确无误,但是一直编译报错,错误内容如下:
No candidates found for method call SpringBootApplication.run(ParentApp, args)
翻译过来就是:
找不到方法调用SpringBootApplication.run的候选项(ParentApp,args)
百度后找不到答案,非常苦恼,启动当然会报错,提示:找不到或无法加载主类。
其实这个编译错误,肯定是启动报错的,但是报这个错误是没有想到的,但是依照这个错误的解决方案根本解决不了我的问题。最终无意间发现项目中有两个.iml文件,瞬间惊呆,赶紧删除一个无关的.iml文件,然后编译立马正确。
搞了半天原来是这个东西搞鬼。
那么这个.iml文件到底是什么东西呢?实际上.iml并非项目文件,而是idea自动创建的模块文件,存储一些模块开发相关的信息,比如java组件、插件组件、maven组件等,还可能会存储一些模块路径信息、依赖信息以及其他一些设置。
注意,这个文件不可缺少。