Java class located out of the source root

2023-10-31

  •  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 目录,一般这样都可以很好地解决你的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java class located out of the source root 的相关文章

  • flask db init时出现KeyError: ‘migrate‘

    问题描述 使用 flask db init迁移数据库时出现KeyError migrate 解决方案 初始化Migrate对象时 没有migrate函数或参数不正确 from flask migrate import Migrate mig
  • STL : 单向链表 Forward_list 与 双向链表 List

    目录 Forward list Member functions List Elements access Modifiers Operations Observes Forward list include using namespace
  • Java循环运行时暂停一段时间

    原文链接 GitHub项目地址 https github com Snowstorm0 learn sleep Gitee项目地址 https gitee com Snowstorm0 learn sleep Java 在运行 for 循环
  • DirectX9中Pixel Coordinates System的一个怪异特性

    http drilian com 2008 11 25 understanding half pixel and half texel offsets 这个文章解释的很详细 他的blog里面也有很多的文章 值得一看哦 总结下来就是这样 在D
  • Unity Resource文件基础操作(一)

    Unity Resource文件的基本概念 本篇文章主要讲解Resource文件在Unity场景中的使用以及他的基本概念 文章目录 Unity Resource文件的基本概念 前言 一 Resource文件是什么鬼 二 Resource常用
  • 存储管理系统课程设计——C语言实现请求页式存储管理模拟系统

    分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片 称为页面或页 并为各页加以编号 从0开始 如第0页 第1页等 相应地 也把内存空间分成与页面相同大小的若干个存储块 称为 物理 块或页框 frame 也同样为它们加以编号 如0
  • disabled和readonly的区别是什么

    disabled和readonly的区别是什么 这两个属性有类似之处 但是区别也是巨大的 之所以说类似 是因为这两个属性好像都貌似能够将指定的元素设置为 不可用 状态 下面就简单介绍一下它们两个的区别 希望能够给大家带来一定的帮助 一 作用
  • Easyexcel导入导出List类型数据报错:Can not find ‘Converter’ support class Li,的解决方法

    目录 问题分析 解决方法 手动编写List类型转换类 问题分析 Easyexcel默认是不支持List类型数据自动转换的 因此当实体类传递数据为List类型时需要手动编写转换类来实现数据转换 否则会报错 Can not find Conve
  • win11桌面图标无法移动(一次到位,必解决)

    按照步骤做 必解决 笔记本桌面图标无法移动我直接气到炸了 怎么弄都弄不好 右键单击自动排列也取消了 多次按Esc键也按了就是没效果 在终端输入了gepdit msc指令也显示找不见 就很奔溃 最后查了好久好久终于给弄好了 具体步骤 一 wi
  • uva 1601 The Morning after Halloween

    题目 The Morning after Halloween 题意 有n个用小写字母表示的鬼和一张地图 每个鬼都要移动到对应的大写字母 两个鬼的位置不能在一次移动中交换 问最少步数 思路 bfs 1 先将地图用图的方法表示 即在每一个空白
  • Simcenter Amesim 2020中文版

    教程 1 下载安装包并解压缩 将LMS RLM Server文件夹复制到C盘目录下 以管理员身份运行server install bat启动服务 资源地址 imcenter Amesim 2020中文版 2 创建系统环境变量 变量名 LMS
  • js删除数组中某一项或几项的几种方法

    1 js中的splice方法 splice index len item 注释 该方法会改变原始数组 splice有3个参数 它也可以用来替换 删除 添加数组内某一个或者几个值 index 数组开始下标len 替换 删除的长度item 替换
  • 【Linux】】Linux权限的理解

    一 Linux中的用户 Linux中分为两种用户 分别为 1 root 用户 也叫超级用户 它的权限非常高 不受其他权限的约束 也就是可以为所欲为 2 普通用户 除了root用户外 都是普通用户 受权限的约束 我们可以输入命令 ls hom
  • Vue.js学习路径 & Web前端工程知识体系

    ECMAScript 6 ECMAScript 6 0 简称 ES6 是 JavaScript 语言的下一代标准 已经在 2015 年 6 月正式发布了 它的目标 是使得 JavaScript 语言可以用来编写复杂的大型应用程序 成为企业级
  • 类和函数模板特例化

    引入原因 编写单一的模板 它能适应大众化 使每种类型都具有相同的功能 但对于某种特定类型 如果要实现其特有的功能 单一模板就无法做到 这时就需要模板特例化 定义 是对单一模板提供的一个特殊实例 它将一个或多个模板参数绑定到特定的类型或值上
  • THUDM/chatglm-6b-int4运行缺少gcc和openmp的问题

    在运行ChatGLM 6B的时候 本人是小白 遇到这几个问题 解决方法分享给大家 1 缺少gcc的问题 参考 GCC编译器的安装教程 Windows环境 gcc安装教程 nhyltt的博客 CSDN博客 2 缺少openmp的问题 在这里下
  • PHP中的错误处理、异常处理机制

    http www cnblogs com cnbeir archive 2012 05 05 2484635 html 在编写php程序时 错误处理是一个重要的部分 如果程序中缺少错误检测代码 那么看上去很不专业 也为安全风险敞开了大门 例
  • Qt子类窗体和父类窗体的数据传递

    1 全局变量 extern 2 静态成员函数 static 3 信号槽 信号槽层层传递调用 爷爷类 gt 父类 gt 子类 但是父类的窗体如果是hide或者close是不能实现子类的信号传递给父类 在此处就已经传递不下去了 父类再传递给爷爷

随机推荐

  • gtest初识 - googletest(一)

    gtest是Google开发的一个开源单元测试框架 代码提供丰富的注释和实例 参考实际用例可以很快上手基本单元测试 丰富的代码注释能够让有兴趣的开发者深入了解gtest的代码结构并做部分针对性的二次开发 gtest主要针对c c 提供了针对
  • input属性placeholder在iOS中显示不完整的解决方法

    在一些高版本的ISO上设置placeholder显示的字体大小的时候 有时候会被遮挡掉一部分 出现原因 input 里面的字体大小小于placeholder的字体大小 解决方法 设置input字体大于placeholder的字体 input
  • 【Flutter】二维码生成,Widget转图片,图片保存相册

    文章目录 1 生成二维码 2 Widget转图片 3 图片保存至相册 1 生成二维码 使用qr flutter https pub dev packages qr flutter Container padding EdgeInsets o
  • Gitlab fork and code review 流程

    Gitlab fork and code review 1 CodeReview的目的 CodeReview的目的是提升代码质量 尽早发现潜在缺陷与BUG 降低修复成本 同时促进团队内部知识共享 帮助更多人更好地理解系统 2 git for
  • Qt 中的智能指针

    Qt 中的智能指针 上一篇博客中介绍了 C 11 标准中的提供的智能指针 在 Qt 中也提供了类似的替代功能 并且比 C 11 标准中提供的功能还要强大 所以如果我们使用 Qt 作为基础库 那么就没有必要使用C 11 的智能指针 Qt 的智
  • 【参考设计】CH340最新官方原理图2020-4-1

    USB转串口 最新精简原理图如下 CH340G CH340E CH340N CH340K
  • 蓝牙HCI 部分Command,Event

    一 HCI层 1 HCI Reset 将HCI复位到初始状态来重新初始化HCI层 2 HCI Read Buffer Size 读取HCI的缓冲区大小 以便确定其能够处理的数据量与数据 3 HCI Host Buffer Size 定义Ho
  • H3C 各类路由默认优先级

    转载于 https www cnblogs com fanweisheng p 11156746 html
  • 微信商城小程序怎么开通?

    随着移动互联网的快速发展 微信商城小程序成为了越来越多企业开启电商新模式的首选之一 微信商城小程序不仅在运营方式上具有很大优势 还能够提供更加便利和舒适的购物体验 那么微信商城小程序怎么开通呢 下面 我们将简单介绍微信商城小程序的开通流程
  • 神经网络与人工智能

    首先要简单区别几个概念 人工智能 机器学习 深度学习 神经网络 这几个词应该是出现的最为频繁的 但是他们有什么区别呢 来一张图就比较清楚了 如下图 人工智能 人类通过直觉可以解决的问题 如 自然语言理解 图像识别 语音识别等 计算机很难解决
  • 【数据库CS751:事务处理Transaction Processing,如何为远程并发访问的系统安全地执行组合更新】——并发性、锁与隔离

    目录 一 前言 二 并发性 1 数据库使用的典型架构 2 并发性 lt 1 gt 不相交数据事务 lt 2 gt Disjoint access parallelism DAP 不相交数据库并行 如何分辨数据的不相交性 3 并发性的解决 一
  • VTK-6.3.0编译(支持Qt编程)以及QVTKwidget插件安装

    重新整理一下VTK编译过程 尤其是涉及到Qt方面的选项配置 计算机系统 win10 x64 VTK版本 VTK 6 3 0 Qt版本 Qt 5 4 2 msvc 2013 x64 opengl Cmake版本 Cmake3 5 第一步 创建
  • 【结构与算法】—— 数据结构代码总结

    博客主页 https blog csdn net dxt19980308 欢迎点赞 收藏 留言 如有错误敬请指正 本文由肩匣与橘编写 首发于CSDN 生活依旧是美好而又温柔的 你也是 目录 线性表 1 1 顺序表 1 1 1 顺序表定义 1
  • CiteSpace关键词分析的可视化处理(三)

    1 调整好参数等 点击Go 运行 得到可视化窗口后 如下 进入可视化界面后 可以先点击a图标 进行聚类 如果得到的效果不好 可以点击聚类图标后面的T K或A来以不同的方式进行聚类 也可以点击LSI LLR MI USR用不同的算法来进行聚类
  • C程序编译过程浅析

    文章转载自 http smilejay com 2012 01 c compilation stages 前几天看了 程序员的自我修养 链接 装载与库 中的第二章 编译和链接 主要根据其中的内容简单总结一下C程序编译的过程吧 我现在一般都是
  • c++中函数参数传递(值传递、指针传递,引用传递)进一步认识

    ps 今天想写一个函数 从函数中把我需要的两个值传出来 由于传出来的值比较多 所以不考虑用return来返回 需要通过参数把修改后的值拉出来供我使用 很当然的就想到了用指针 但是值就是传不出来 使我对原有的大脑中指针的思维产生混沌感 今天一
  • 以太坊2.0 主网节点搭建最新详细教程

    文章目录 一 搭建准备 1 1 配置 JWT 身份验证 二 部署执行节点geth 2 1 下载geth基础镜像 2 2 geth容器生成 三 部署共识节点Prysm 3 1 下载Prysm镜像 3 2 Prysm容器生成 四 检查节点是否同
  • 12.基于栈的指令集与基于寄存器的指令集

    通过一个算术代码来了解栈的解释器执行过程 基于栈指令集Demo 演示1 1基于栈的指令集 iconst 1 iconst 1 iadd istore 0 两条iconst 1指令连续把两个常量压入栈后 iadd指令把栈顶的两个值出栈 相加
  • 7-10 计算工资 (15 分) 基础编程题目集(C语言)

    基础编程题目集 返回 7 10 计算工资 15 分 某公司员工的工资计算方法如下 一周内工作时间不超过40小时 按正常工作时间计酬 超出40小时的工作时间部分 按正常工作时间报酬的1 5倍计酬 员工按进公司时间分为新职工和老职工 进公司不少
  • Java class located out of the source root

    Source root 可以理解为源目录 源码的作用就是用来专门放 Java 类文件 相对于编译出来的 class 文件而言 它就是源 我们一般默认名字叫 src 的目录就是源目录 但是其实并不是这样的 在 IntelliJ IDEA 中