原创 Django Java工程师成长日记 8月18日
收录于话题#IDEA1个内容
IDEA号称宇宙第一IDEA,用过的人都说好。大而全是IDEA的特色,可是这也导致了IDEA时不时会抽风,每每让人百思不得其解,如果恰恰这时又有急事,那真的恨不得一拳打屏幕打穿。笔者在最近的一周内就已经体验了两次这种冲动,甚至已经在准备转移到vs code了。当然问题最后还是解决了,这里把整治IDEA抽风的办法分享给各位新生代农民工。
主要表现为大片大片代码变红,但是呢,maven install又会成功。既然可以成功编译,显然我们的代码是没问题的,那么我们可以认定:IDEA又开始作妖了。
这是网上随便一搜都能搜到的办法,大多数时候也能管用。
maven重新加载工程
清除IDEA缓存并重启
我们在maven的pom文件中会配置一些因环境而异的参数,这里简称为环境变量,有的时候还会根据环境变量来选择不同的依赖。例如:
<profile> <id>dev</id> <properties> <env>dev</env> </properties> </profile>
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson-${env}</artifactId> <version>1.2.56</version> </dependency>
实践证明,这种情况经常会导致idea抽风。
那么如何解决呢?一般来说,在右侧的maven工具栏Profiles标签下,保证有且只有一个profile被选中即可解决问题。如果还不行,那么可以尝试在pom文件中在project标签下新增一个参数配置,相当于将动态依赖写死。如下:
<properties> <env>dev</env> </properties>
这时IDEA就能正确识别依赖了。后面再把pom文件还原即可。
正常情况下一个maven工程只有一个pom文对不对,怎么会出现两个呢?使用maven的打包插件shade的时候就可能会。如图:
图中红色的文件就是shade打包后生成的pom文件。这个pom文件产生了干扰,让IDEA抽风。打个比方,你晚上回家发现家里有两个老婆,你能不抽风吗?我们直接把这个新增的pom文件删掉,IDEA马上就恢复了正常。
IDEA抽风不知道消耗了笔者多少宝贵的青春,曾经有一次整整花费了4个小时才让IDEA复工,真的可以说是一把辛酸泪了。写在这里一方面是分享,另一方面也是做个记录以后自己也可以查阅。后面也许会还会遇到新的抽风花样,到时候再更新本文。