Skip to content

idea左侧project不显示项目根目录的解决方法

  • 方式一:清空缓存重启idea File -> Invalidate Caches -> Invalidate and Restart
  • 方式二(最简单有效的):maven reload all projects

.idea文件夹解释

  • .idea文件夹的作用:.idea文件夹是存储IntelliJ IDEA项目的配置信息,主要内容有:
    1. IDEA项目本身的一些编译配置
    2. 文件编码信息
    3. jar包的数据源和相关插件配置信息
  • 因为这里面存储的都是自己本地的IDEA配置,所以在使用git做版本控制的时候,一般会排除掉.idea文件,避免多方协作出现代码冲突
  • .idea文件夹下文件的介绍
    • workspace.xml:存储IDE的窗口布局和其他用户界面相关的配置
    • modules.xml:包含有关项目模块的配置信息
    • misc.xml:存储一些其他的配置信息
    • vcs.xml:包含与版本控制系统相关的设置
    • inspections文件夹:存储代码检查工具的配置信息
    • runConfigurations文件夹:包含运行和调试配置的信息
  • 删除该文件夹的影响:idea将无法识别该项目,一些功能如代码补全、语法检查等无法继续使用
  • 误删后如何恢复:VCS→Local History→Show History 找到还没删除.idea目录的记录,进行恢复

idea忽略空catch块警告

  • java
    try {
        Field field = object.getClass().getDeclaredField("username");
        field.setAccessible(Boolean.TRUE);
        String username = (String) field.get(object);
    }catch (NoSuchFieldException | IllegalAccessException e) {
    }
  • 如果catch捕获到异常以后不需要处理,可以空着,但是idea会提示empty catch block警告,处理方法是使用ignored替换变量名e

    java
    try {
        Field field = object.getClass().getDeclaredField("username");
        field.setAccessible(Boolean.TRUE);
        String username = (String) field.get(object);
    }catch (NoSuchFieldException | IllegalAccessException ignored) {
    }

idea启动Java项目报 “command line is too long”

  • image-20250228110939258

  • 问题原因:简单来说就是依赖爆炸,当pom引入了n多依赖之后,maven通过mvn spring-boot:run运行时,生成类似路径 -classpath C:/Users/me/.m2/repository/org/springframework/spring-core/5.3.8.jar; C:/Users/me/.m2/repository/org/springframework/spring-beans/5.3.8.jar;等等等等,此时在windows环境下执行的命令可能是 java -classpath "spring-core.jar;spring-beans.jar;...(200+项)..." com.example.Application,当字符超出操作系统的最大命令行限制时,就会报错

  • 深度解析

    • 底层机制:JVM启动时需要明确指定所有依赖的位置,很容易突破限制

    • 操作系统限制对比

      Windows32767字符
      Linux2097152字符
      macOS262144字符
  • 解决方案:上图idea已经提示了两种解决方案,点击JAR manifest或者classpath file即可解决

  • 解决方案对比

    方法原理适用场景缺点
    classpath通配符使用lib/*形式简单项目需要目录结构规范
    MANIFEST.MF将类路径写入JAR清单需要生成可执行JAR需要重新打包
    参数文件(@argfile)将参数存入临时文件IntelliJ等现代IDE需要JVM 9+支持
    缩短路径使用相对路径或符号链接所有环境可能影响项目结构

idea中maven无法下载最新的SNAPSHOT的解决办法

  • IntelliJ IDEA的 File -> Settings -> Build,Execution,Deployment -> Build Tools -> Maven 配置中勾选上 Always update snapshots 选项然后保存后再重新 Maven Reimport 即可

    在这里插入图片描述

    在这里插入图片描述

MIT版权,未经许可禁止任何形式的转载