Java教程

IDEA又双叒叕抽风了,怎样避免一拳把屏幕打穿 原创 Django Java工程师成长日记

本文主要是介绍IDEA又双叒叕抽风了,怎样避免一拳把屏幕打穿 原创 Django Java工程师成长日记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

IDEA又双叒叕抽风了,怎样避免一拳把屏幕打穿

原创 Django Java工程师成长日记 8月18日

收录于话题#IDEA1个内容

IDEA号称宇宙第一IDEA,用过的人都说好。大而全是IDEA的特色,可是这也导致了IDEA时不时会抽风,每每让人百思不得其解,如果恰恰这时又有急事,那真的恨不得一拳打屏幕打穿。笔者在最近的一周内就已经体验了两次这种冲动,甚至已经在准备转移到vs code了。当然问题最后还是解决了,这里把整治IDEA抽风的办法分享给各位新生代农民工。

1. IDEA抽风的症状

主要表现为大片大片代码变红,但是呢,maven install又会成功。既然可以成功编译,显然我们的代码是没问题的,那么我们可以认定:IDEA又开始作妖了。

2. 常规解决办法

这是网上随便一搜都能搜到的办法,大多数时候也能管用。

  1. maven重新加载工程

    图片

  2. 清除IDEA缓存并重启

    图片

  3. 图片

3. 非常规情况

3.1 因为profile环境变量导致的依赖识别错误

我们在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文件还原即可。

3.2 多个pom文件导致的抽风

正常情况下一个maven工程只有一个pom文对不对,怎么会出现两个呢?使用maven的打包插件shade的时候就可能会。如图:

图片

图中红色的文件就是shade打包后生成的pom文件。这个pom文件产生了干扰,让IDEA抽风。打个比方,你晚上回家发现家里有两个老婆,你能不抽风吗?我们直接把这个新增的pom文件删掉,IDEA马上就恢复了正常。

4 结语

IDEA抽风不知道消耗了笔者多少宝贵的青春,曾经有一次整整花费了4个小时才让IDEA复工,真的可以说是一把辛酸泪了。写在这里一方面是分享,另一方面也是做个记录以后自己也可以查阅。后面也许会还会遇到新的抽风花样,到时候再更新本文。

这篇关于IDEA又双叒叕抽风了,怎样避免一拳把屏幕打穿 原创 Django Java工程师成长日记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!