Idea项目启动慢一直Build

项目因设置问题导致编译时将target目录包含,造成无限循环编译,表现为持续build状态并生成无限嵌套的target目录。解决办法是将target设置为excluded目录,或者仅保留java目录为Source。了解IntelliJ IDEA中Sources、Tests、Resources、TestResources和Excluded目录的用途有助于避免此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题原因

这是project structure设置造成的,开始创建项目的时候将java和resources分别设置为sources和resources是有目的的,系统在编译的时候会根据设置文件夹的属性对文件夹进行编译.项目启动时一直处于build状态是因为在编译的时候一起把target文件夹给编译了,导致在生成target文件是循环编译,这样的结果就是项目一直处于build状态且工作空间中这个项目的target文件夹一直在变大.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9W2qOr56-1626922764640)(https://i.loli.net/2021/07/22/BmOlxXoNRFMhK1G.png)]

导致结果

项目一直处于build状态

你以为可能是因为项目太大启动慢,实则不是.

image-20210722104453334

生成了无限嵌套的target目录:打开target目录里面除了正常内容还包括一个target,再次打开发现内容还是一样,说明target被无限编译

image-20210722104649395

解决方案

1. 将所有文件设置为Source目录但是要将target设置为excluded目录

image-20210722105335835

2. 只将java设置为Source目录

image-20210722105758424

Idea中五种不同目录类型

  • Sources 一般用于标注类似 src 这种可编译目录。有时候我们不单单项目的 src
    目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 Sources
    这种可编译目录才可以新建 Java 类和包。在规范的 maven 项目结构中,顶级目录是 src,但maven 的 src
    我们是不会设置为 Sources 的,而是在其子目录src - main -java ,我们会设置java目录为 Sources。
  • Tests 一般用于标注可编译的单元测试目录。而单元测试的目录是 src - test - java,我们会设置java目录为
    Tests,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 项目下进行配置的,可以看出 IntelliJ
    IDEA 对 maven 项目的支持是比彻底的。
  • Resources 一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:src - main
    -resources,我们会设置resources 目录为 Resources,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。
  • Test Resources 一般用于标注单元测试的资源文件目录。在 maven
    项目下,单元测试的资源目录是单独划分出来的,其目录为:src - test -resources,我们会设置resources 目录为
    Test Resources,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。
  • Excluded 一般用于标注排除目录。被排除的目录不会被 IntelliJ IDEA 创建索引,相当于被 IntelliJ IDEA
    废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能
<think>好的,用户问的是如何解决IntelliJ IDEA调试模式启动的问题。首先,我需要回忆一下常见的导致调试变的原因。通常,可能的原因包括断点设置过多、日志级别过低、内存不足、插件冲突或者调试配置不当。 接下来,我应该考虑用户提到的参考引用。引用[2]提到了远程调试的参数配置,但用户的问题是关于本地调试启动的,所以可能相关的配置参数调整会有帮助。例如,调整JVM参数来增加内存或优化性能。 然后,按照用户提供的结构要求,需要分步骤解答。第一步可能是检查断点,过多的断点尤其是条件断点会明显拖速度。第二步,调整JVM参数,比如增加堆内存-Xmx,或者使用更快的垃圾回收器。第三步,检查插件,禁用不必要的插件可能释放资源。第四步,日志级别,如果应用在调试时生成大量日志,调整日志级别到WARN或ERROR可能减少IO负担。第五步,更新IDEA版本,因为旧版本可能存在性能问题,新版本可能优化过。第六步,使用“方法断点”或“字段断点”可能会影响性能,建议替换为行断点。 还要确保回答中使用正确的中文,数学公式如果有的话用$...$,但这里可能不太涉及。生成的问题需要相关,比如如何优化调试配置,如何排查性能问题等。 需要验证提到的解决方案是否有效,比如调整JVM参数的具体命令,或者禁用插件的步骤是否正确。另外,引用[2]中的远程调试参数可能不直接相关,但可以提及其他可能的配置调整。 最后,确保回答结构清晰,分点说明,每个步骤有解释,并且生成的相关问题符合用户需求。</think>针对IntelliJ IDEA调试模式启动的问题,可通过以下步骤进行排查和优化: ### 一、检查断点设置 1. **禁用非必要断点**:在`Run -> View Breakpoints`中取消勾选暂时不用的断点,特别是条件断点会显著增加调试耗时 2. **避免方法断点**:使用行断点替代方法断点,方法断点会触发类重新加载机制$$ \text{方法断点耗时} \propto \text{类加载次数} \times \text{验证时间} $$ ### 二、调整JVM参数 在`Help -> Edit Custom VM Options`中增加配置: ```bash -Xms2048m -Xmx4096m -XX:+UseG1GC -XX:ReservedCodeCacheSize=512m ``` 此配置通过提升堆内存和采用G1垃圾回收器优化性能[^2] ### 三、插件管理 1. 进入`File -> Settings -> Plugins` 2. 禁用第三方调试插件(如JRebel、热部署插件等) 3. 更新已启用插件至最新版本 ### 四、日志级别调整 在调试配置的`VM options`中添加: ```bash -Dlogging.level.root=WARN ``` 减少DEBUG级别日志输出可降低I/O负载(测试环境可降低至ERROR级别) ### 五、版本更新策略 | 版本类型 | 更新建议 | |---------|---------| | 2021.x | 建议升级到2023.2+ | | 2022.x | 检查补丁更新 | | 2023.x | 保持最新版本 | ### 六、高级优化方案 1. **关闭即时渲染**:在`Settings -> Appearance`取消勾选`Enable Antialiasing` 2. **禁用数据流分析**:在`Settings -> Build -> Dataflow Analysis`关闭实时分析 3. **文件索引排除**:将`node_modules`、`build`等目录标记为`Excluded`
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值