V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jacketsmith10
V2EX  ›  程序员

蛋疼的 idea, maven 依赖爆红却能正常运行

  •  
  •   jacketsmith10 · 277 天前 · 3047 次点击
    这是一个创建于 277 天前的主题,其中的信息可能已经有所发展或是发生改变。
    同一个项目在同一台电脑用不同版本 idea 打开( IntelliJ IDEA 2018.1.5 x64 和 IntelliJ IDEA 2023.1.4 ),新版的 idea 中右侧 maven 报错找不到一些依赖,但是依赖确实存在于路径中,各模块的 pom 也爆红,但是点进去又没有发现具体是哪爆红,但是项目可以正常运行编译。。。以及这些问题在老版的 idea 中都没有。
    检查 maven 和 jdk 配置没错
    已经尝试过的方法:1.刷新 maven 重新导入; 2.尝试清除 idea 缓存 Invalidate Caches /Restart ; 3.把提示中爆红的依赖,在 pom 中的声明剪切了再保存,还是消不掉右侧的 maven 爆红,撤销剪切再保存同样。4.设置项目文件编码为 utf-8 ; 5.rebuild 项目。
    通通没效,蛋疼
    26 条回复    2023-07-26 11:10:03 +08:00
    zzl22100048
        1
    zzl22100048  
       277 天前
    把 .idea 删了?
    w292614191
        2
    w292614191  
       277 天前
    1. 首先排除 idea 的问题
    2. 删除.idea 文件
    3. 新增 maven 项目,保持一个干净可运行的项目,慢慢的复制文件和依赖进来。
    jacketsmith10
        3
    jacketsmith10  
    OP
       277 天前
    @zzl22100048 没删
    jacketsmith10
        4
    jacketsmith10  
    OP
       277 天前
    @w292614191 先 3 后 2 已解决
    zzl22100048
        5
    zzl22100048  
       277 天前   ❤️ 1
    @jacketsmith10 #3 删掉 .idea 就能解决,这个目录跨版本是不兼容的
    bhbhxy
        6
    bhbhxy  
       277 天前
    非常影响开发体验,我想专注于业务,先得花一半时间查配置排错
    所以公司让转 JAVA 我极力拒绝
    Danswerme
        7
    Danswerme  
       277 天前
    @zzl22100048 没用过 idea ,好奇问下 .idea 是配置文件目录吧?如果 .idea 目录跨版本不兼容,那岂不是每升级一次 idea 就得重新配置一次项目?
    EugeneLau
        8
    EugeneLau  
       277 天前 via iPhone
    哈哈,当你想专注于业务的时候,就会忽略这些飘红
    win301
        9
    win301  
       277 天前
    @bhbhxy 哈哈,按照你的说法,任何语言在开发之前都需要进行一些配置的,这并不是 Java 独有的,而且 up 碰到的问题,其实并不常见,就因为个例就能让你得出一个 “公司让转 JAVA 我极力拒绝”,那你可能就是在给自己找心理安慰的理由而已。
    coala
        10
    coala  
       277 天前
    @Danswerme 要注意到是 2018 跨度到 2023 ,5 年啊! 小版本我没遇到过,我是 2017 的版本开始用的。
    PVXLL
        11
    PVXLL  
       277 天前   ❤️ 1
    @bhbhxy 哈哈哈,莫非是 go-module 和 npm 不需要关注这些,一个比一个蛋疼
    Helsing
        12
    Helsing  
       277 天前 via iPhone
    1. 把 maven 缓存删了
    2. 把项目工程删了,重新 clone
    Carlos920
        13
    Carlos920  
       277 天前
    我也经常遇到,似乎是索引问题,但是重建索引却并不能解决,目前有两种解决方案
    1. 点击 Repair IDE,跟着步骤走,一般走 1~2 步能恢复正常
    2. 在当前窗口打开新项目然后再在当前窗口打开原先的项目
    aLazarus
        14
    aLazarus  
       277 天前
    eclipse 和 idea 都有类似的问题,也都是需要删除 ide 的配置文件……很蛋疼
    iosyyy
        15
    iosyyy  
       277 天前
    @aLazarus 大多数时候都是你自己的问题..别老怪 ide
    Huelse
        16
    Huelse  
       277 天前
    @bhbhxy 拒绝是对的,如果连依赖都理不清的话。
    pxiphx891
        17
    pxiphx891  
       277 天前
    重新 clone 代码下来,用新版 idea 打开就行了,爆红但能运行是因为运行和编译用的 maven 不一样吧
    jacketsmith10
        18
    jacketsmith10  
    OP
       277 天前
    @zzl22100048 旧版本的 idea 能正常运行无报错,因此在不了解什么原因的情况下不敢随便乱删,万一删了旧版 idea 跑不起就要命了
    jacketsmith10
        19
    jacketsmith10  
    OP
       277 天前
    @win301 是的,我经常遇到一些坑爹不常见的问题。现在手头还有一个,后端某模块的 mapper.xml 无法产生编译文件,其他模块就很正常,试了无数方法头都大了
    win301
        20
    win301  
       277 天前
    @jacketsmith10 那其他人正常吗?当你遭遇诡异时,如果各种尝试无果后,就应该果断选择看看其他人的环境下是否正常,利用排除法来解决问题,如果其他人都正常,那就是你的环境有问题了,可以考虑重新初始化一下各阶段的环境,如果其他人也有问题,那大家一起想办法和你一个人苦思,效率截然不同,而且有很大概率,其他人已经遭遇过这个问题,他只需要花费 2 分钟告诉你怎么解决这个问题。
    jdOY
        21
    jdOY  
       277 天前
    idea 固有问题,17 年开始用 idea 就有,到现在也没修复
    RainCats
        22
    RainCats  
       277 天前
    @Danswerme idea 这边一般没有多少配置是项目独有的,都是公共配置,随便哪个项目来打开都是一样的,如果非要给不同项目配置 jdk 、maven 这些的话,我想也很少遇到要删.idea 目录的情况,重新配一下也是几秒钟的事
    silentsky
        23
    silentsky  
       277 天前   ❤️ 1
    换 spring tool 或 eclipse 吧 编译这块绝对比 idea 强
    silentsky
        24
    silentsky  
       277 天前
    idea 花里胡哨的东西太多了 新手比较喜欢 其实会用快捷键功能都差不多
    xzeus
        25
    xzeus  
       277 天前
    碰到过一次,file->invalidate caches 清理下即可
    dif
        26
    dif  
       276 天前
    file->invalidate caches
    build -> rebuild project
    删除.idea 文件,重新导入。

    以上三步基本上能解决大部分匪夷所思的问题。当然,代码自身 bug 除外。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2685 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:18 · PVG 19:18 · LAX 04:18 · JFK 07:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.