IDEA 2020.1.1 build/run报错,显示程序包不存在而maven compile无问题(已解决)

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会出问题 大家也可以升级版本解决

后续还会更新开发中遇到的各种问题 大家喜欢的可以点个关注---熬夜更新中...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值