1. 问题 1.1在我们的日常开发中,当我们引入了一个jar包,可以正常引用,代码编辑器中也没有提示编译错误,通过maven中的clean清除 、compile编译、package打包等进行各种操作也都没问题,但是当我们单击绿色箭头运行的时候(这时候默认会先执行IDEA本身的Build操作)出现问题:程序包xxx不存在 上图:引用,编译,打包,编写无任何异常,ctrl+左键 也可以找到包 上图:当运行的时候或者build的时候 直接提示程序包不存在 这个问题真是困扰了我许久许久,java环境的重新配置 maven的重新配置等都不起效,一度是我产生卸载idea的想法(我太懒了,idea配置的东西以及插件太多,嘿嘿,没卸载) 2. 网上查到的方法但仍没有解决我的问题 2.1 maven: clean compile package一键三连 2.1 build->rebuild Project 2.3 file->invalidate Caches/Restart 清除idea的缓存 以上三种方法都没有解决我的问题 3. 终于我找到了一个可以解决问题的方法 File-Settings 按照上述步骤 勾选上Delegate IDE build/run actions to Maven 然后进行运行 如果正常运行说明问题已解决 如果无法正常运行 将勾选的取消掉 再次执行 即可解决问题 原理: 未勾选此配置时,IDEA的Build操作和Maven的Build是分开的,所以会出现maven一键三连没问题,但是idea-run有问题,我甚至怀疑编辑器中的实时语法编译与Build时的classpath并不一致,否则不会出现这种诡异的情况。 勾选此配置后,IDEA的Build/Run操作是委托给Maven来进行的,也就意味着,IDEA和Maven始终使用相同的classpath进行编译。既然maven的打包编译没有问题,配置统一后,那么idea的运行肯定也没有问题 注意:好像只有2020.1版本的IDEA会出问题 大家也可以升级版本解决 后续还会更新开发中遇到的各种问题 大家喜欢的可以点个关注---熬夜更新中...