•  Source root,可以理解为源目录,源码的作用就是用来专门放 Java 类文件,相对于编译出来的 class 文件而言,它就是源。我们一般默认名字叫 src 的目录就是源目录,但是其实并不是这样的,在 IntelliJ IDEA 中,即使叫 srcs 也是可以设置为 Source root,所以源目录跟目录命名是没有关系的,而是在于 IntelliJ IDEA 支持对任意目录进行设置为 Source root,具体设置在会后面章节进行详解。 Source root 的作用是标记该目录下的文件是可编译的。
  •  Java class located out of the source root,由于上一条我们知道 Source root 目录是用来告诉 IntelliJ IDEA 这是编译目录,而假如你 Java 类文件没有放在该目录或是该目录的子包下,那该 Java 类则无法编译,就会被表示成这个图标。

 Java class located out of the source root。我们也都知道该图标是表示 Java 类文件没有在 Source root 目录下的文件夹下会显示此图标,但是其实还有一种情况也是会显示此图标的。那就是:在 IntelliJ IDEA 创建索引过程中,所有的 Java类 都是这个图标,如果你项目大的话很容易观察到的,几个文件的小项目倒是不一定会看到。所以在 IntelliJ IDEA 创建索引过程即使你编辑了代码也是编译不了、运行不起来的,所以还是安安静静等 IntelliJ IDEA 创建索引完成。

IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度,所以 IntelliJ IDEA 的索引的重要性我再唠叨一万遍都不为过。但是,IntelliJ IDEA 的索引和缓存并不是一直会良好地支持 IntelliJ IDEA 的,这某些特殊条件下,IntelliJ IDEA 的缓存和索引文件也是会损坏的,比如断电、蓝屏引起的强制关机,当你重新打开 IntelliJ IDEA,基本上百分八十的可能 IntelliJ IDEA 都会报各种莫名其妙错误,甚至项目打不开,IntelliJ IDEA 主题还原成默认状态。也有一些即使没有断电、蓝屏,也会有莫名奇怪的问题的时候,也很有可能是 IntelliJ IDEA 缓存和索引出问题,这种情况还不少。遇到此类问题也不用过多担心,下面就来讲解如何解决。

  • IntelliJ IDEA 已经自带提供清除缓存、索引的路口,如上图标注 1 所示。

  • 一般建议点击 Invalidate and Restart,这样会比较干净。
  • 但是有一个需要提醒的是,如上图红圈标注的地方:清除索引和缓存会使得 IntelliJ IDEA 的 Local History 丢失,所以如果你项目没有加入到版本控制,而你又需要你项目文件的历史更改记录,那你最好备份下你的 LocalHistory 目录。目录地址在:C:\Users\当前登录的系统用户名\.IntelliJIdea14\system\LocalHistory 建议使用硬盘的全文搜索,这样效率更高。

通过上面方式清除缓存、索引本质也就是去删除 C 盘下的 system 目录下的对应的文件而已,所以如果你不用上述方法也可以删除整个 system。当 IntelliJ IDEA 再次启动项目的时候会重新创建新的 system 目录以及对应项目缓存和索引。

如果你遇到了因为索引、缓存坏了以至于项目打不开,那也建议你可以直接删除 system 目录,一般这样都可以很好地解决你的问题。

Java class located out of the source root相关推荐

  1. IDEA复制项目Module出现java文件夹source root解决方法

    我们经常复制项目的时候,会出现module名称没有改变或者java文件夹后面有source root表示,maven父子项目没有标识等问题(如下图),在这里我将一一为大家解决 如果是maven父子项目 ...

  2. HikariPool使用MySQL/MariaDB数据库报错解决:java.sql.SQLException: Access denied for user 'root'@'localhost' (u

    在使用HikariPool连接到我的数据库时报错如下,完整的报错放在最后: 2019-06-25 20:24:26.048 ERROR 18204 --- [nio-8080-exec-9] com. ...

  3. 多模块项目-项目复制出现Module xx must not contain source root xx The root already belongs to module xx

    问题 多模块项目在进行模块复制后改名时出现问题. Module "cboss-zjsm-test" must not contain source root "C:\Us ...

  4. 【解决报错】java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

    IDE:IntelliJ IDEA Ultimate 2019.3 (我用的是学生版,只要大学邮箱能用就可以的) 报错信息全文附在最后.其中关键的信息就是: Root Cause java.sql.S ...

  5. IDEA项目Module X must not contain source root Y. The root already belongs to module Z

    维护老项目是件有趣的事情,会遇见很多罕见的场景,比如这次整理的案例. 目录 1.IDEA项目错误信息 2.错误原因分析与解决 3.实践总结 运行环境: Windows-7-Ultimate-x64 O ...

  6. 【解决报错】java.sql.SQLException Access denied for user ‘root‘@‘localhost‘ (using password YES)

    IDE:IntelliJ IDEA Ultimate 2019.3 (我用的是学生版,只要大学邮箱能用就可以的) 报错信息全文附在最后.其中关键的信息就是: Root Cause java.sql.S ...

  7. 数据库异常 :java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)

    数据库异常 :java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 参考文章: ...

  8. idea报错Module Project1 must not contain source root ...\Project1\src. The root already belongs to .

    idea报错Module Project1 must not contain source root "-\Project1\src". The root already belo ...

  9. idea复制maven项目,source root为原项目的解决方法

    为什么要复制module? 1.module中有大量相同的重复代码(多为测试的时候),一个个复制文件太麻烦: 2.网速慢,新建maven项目常常要下载好多包,构建耗费大量的时间: 3.版本问题.如sp ...

最新文章

  1. AndroidStudio 3.4 自定义注解处理器不起作用
  2. python 中文字符串截取,Python实现针对含中文字符串的截取功能示例
  3. 从0到1打造企业数字化运营闭环白皮书
  4. js中的Array数组清空
  5. es6 实例:模块的 Singleton 模式
  6. 电商促销必备优惠券醒目设计插画
  7. python apache_Windows 配置 Apache Python CGI
  8. 机器学习与计算机视觉(移动端深度学习优化框架)
  9. 29-地理空间数据云下载【进阶】
  10. Oracle function语法
  11. 测试开发人员与开发人员_我是真正的开发人员还是优秀的Googler?
  12. 基于javaweb+mysql的超市进销存管理系统(java+SpringBoot+Html+Layui+echarts+mysql)
  13. android launcher启动过程,Android应用启动过程-Launcher源码浅析
  14. ad19怎么手动布线_AD19如何使用强大的自动布线功能
  15. Mysql启动时pid未更新_MySQL启动报错 无法更新PID文件
  16. FFmpeg视频解码流程详解及demo
  17. Java 试试多线程
  18. nms、softnms、softernms
  19. matplotlib.pyplot 库(一)
  20. ros基础概念以及第一个项目

热门文章

  1. 一题多做--杨辉三角形
  2. 西南大学2019春计算机作业答案,2019年西南大学作业答案[1175]《仪器分析》
  3. GB28181公网语音对讲
  4. OPENCV C++保存视频
  5. 电脑的dns服务器未响应怎么解决,电脑DNS服务器未响应怎么解决
  6. c++ 11 多线程支持 (std::packaged_task)
  7. SylixOS中的中断服务对象
  8. 虹科技术 | 快速准确测量0.05m-500m--虹科dimetix激光测距传感器的优势
  9. 【Linux中sudo命令】
  10. Linux C语言 pthread_cond_wait()、pthread_cond_timedwait()函数(不允许cond被唤醒时产生竞争,所以需要和互斥锁搭配)