`

Idea系统资源不足解决方案

阅读更多

问题描述

Project的代码量达到Idea编译的上限时,Idea将无法自动分配足够的内存给Project,这就直接导致出现了“系统资源不足”的编译中断异常。

错误如下图所示


 

之所以导致上面的编译中断异常出现,还需要来看看Idea的编译过程

Idea在编译时会动态的分配内存给Project,而windows也会给idea分配的内存,当windows分配给Idea的内存少于Project所需或者已经达到一定的临界点时,就会导致Idea编译工具编译中断,抛出内存溢出的错误。

 

解决方案一

解决这个问题的关键是我们需要理解下面这句话

windowsidea分配的内存或者Idea分配给Project的内存已经达到一定的临界点了才导致了内存溢出了。

 

至此,我们知道了问题的根源所在,那么我们只要逆向思维“如果不让window有分配Idea内存,Idea分配给Project内存的机会,或者换一种编译的方式”,那我们这个错误不就是解决了么!

 

解决工具

使用ant编译

 

使用ant编译是不消耗操作系统给你idea分配的内存。ant编译的原理与idea是分开的。Ant编译直接消耗的系统内存(windows),所以不需要消耗idea的内存。就算Idea的内存分配的再小也是不会影响ant编译,所以不会报错。

 

解决步骤

基本上每一个Java Project中都会有一个名叫native.xmlant编译解析文件,至于这个文件中的内容和用法我这里就不多作介绍了。

 

第一步:native配置

只要保证Native.xml文件中有如下代码就可以解决此问题了,至于你其它的代码互不影响,该怎么写还是怎么写。下面主要是3个方面的配置,一个是将src目录下面的文件编译输出到Classes目录下,第二个是转码,第三个是拷贝conf文件夹下面的配置文件。这三个配置都是可以单独使用和运行的,这里我们想要解决Idea的问题,就引出第四个配置“解决Idea编译报系统资源不足的错误”的配置,具体怎么配置代码如下图所示。


第二步:ant运行native文件

如果你还没有把native文件设置成ant编译文件,那也不用急,只需要在右边的Ant Build的对话框中找到那个小加号点击后就会出现



 

选择对话框,你只要找到你的native.xml文件的路径就好了。配置成功后你就会看到下图右边的菜单项了。


 

这时你直接双击“解决Idea编译报系统资源不足的错误”这个选项,Ant就去执行它的任务去了。编译成功后会出现如下提示信息窗口。至此,我要恭喜你,我们已经解决了Idea编译出现系统资源不足的错误。

第三步:去掉Idea编译配置

接下来找到上面的服务配置对话窗口,然后去掉MakeBuildtestartifact的选项,最后启动服务就好了。

Ps:我这里用的是Tomcat,如果你用别的应用服务器,此操作依旧。

相关源码

<!--解决Idea编译报系统资源不足的错误 -->

    <target name="解决Idea编译报系统资源不足的错误" depends="compile,copyConf">

</target>

 

<!--编译Class,Src目录下面的文件编译输出到Classes目录下-->

    <target name="compile" description="compile the source ">

        <javac srcdir="${src.dir}" destdir="${classes.dir}" encoding="GBK" optimize="off" fork="true" includes="**/*.java" memorymaximumsize="500M" classpathref="lib"/>

</target>

 

<!--转码-->

    <target name="CH-native">

        <delete>

            <fileset dir="${classes.dir}/com" includes="**/*.properties"/>

        </delete>

        <native2ascii encoding="gb2312" src="${src.dir}/com" dest="${classes.dir}/com"

                      includes="**/*.properties" excludes="**/*.svn"/>

</target>

 

<!--拷贝conf文件夹下面的配置文件-->

    <target name="copyConf" depends="CH-native">

        <copy includeemptydirs="false" todir="${classes.dir}" overwrite="true">

            <fileset dir="${conf.dir}" excludes="**/*.svn, **/*.java"/>

        </copy>

</target>

 

解决方案二

方案二是我在方案一之后才发现的解决方案,其只需要简单的配置一下就好了。

如下图,打开设置面板,找到Java Compiler项,将最大内存大小修改成原来的两倍就好了。

 

 
 

解决方案三

方案三是方案二的扩展,与方案二不同的是编译类的方式不同(这里我们选择Eclipse编译方式),但是最大内存大小还是需要扩大,如下图



 

  • 大小: 18.1 KB
  • 大小: 85.8 KB
  • 大小: 29.7 KB
  • 大小: 24.2 KB
  • 大小: 104.9 KB
  • 大小: 34.2 KB
  • 大小: 34.4 KB
  • 大小: 58.5 KB
  • 描述: 此附件没用
  • 大小: 34.2 KB
分享到:
评论

相关推荐

    IntelliJIDEA常用配置解决方案.docx

    ### IntelliJ IDEA 常用配置解决方案 #### 一、IntelliJ IDEA 性能优化 在使用IntelliJ IDEA进行开发的过程中,为了更好地提升开发效率和体验,对IDEA进行性能优化是必不可少的一个环节。本章节将重点介绍如何根据...

    搜狗中文输入法在idea卡顿, 解决方案, 下载后替换搜狗安装路径下同名文件

    而搜狗输入法作为一款系统级的应用,为了实现高效的输入功能,也会占用一定的系统资源。当这两个软件同时运行并且交互时,如果处理不当,就可能导致资源冲突或性能瓶颈,从而造成卡顿。 针对这个问题,描述中给出的...

    解决idea9 开机 jvm无法启动的错误

    2. **系统资源不足**:如果计算机内存不足或者CPU资源紧张,可能会导致JVM无法启动。 3. **版本兼容性**:Idea9可能需要特定版本的JVM才能正常工作,而当前系统中安装的JVM版本可能不匹配。 4. **环境变量问题**:...

    IDEA性能优化设置(解决卡顿问题)

    7. **缓存管理**:定期清理和重建IDEA的系统缓存,可以解决因缓存问题导致的卡顿: - `File` -&gt; `Invalidate Caches/Restart`,选择`Invalidate and Restart`。 8. **更新到最新版本**:保持IDEA版本的更新,新...

    JSP乱码 N种解决方案

    本文将深入探讨“JSP乱码”的多种解决方案,并提供实用的解决策略。 1. **理解字符编码的基本概念** - 字符编码是计算机对文字进行存储和处理的标准,常见的有ASCII、GBK、UTF-8等。 - JSP页面默认使用ISO-8859-1...

    idea汉化后无定位小齿轮

    如果问题依然存在,可以尝试更新IDEA到最新版本,或者查阅官方文档、社区论坛寻找解决方案。此外,保持IDEA的默认设置,除非必要,否则不建议随意修改核心库文件,因为这可能会破坏原有的功能和稳定性。 总的来说,...

    学生信息管理系统springboot idea.zip

    SpringBoot集成了Spring Security,提供了一套完整的安全解决方案。在学生信息管理系统中,可以使用它来实现用户登录、角色权限控制等功能,确保只有授权的用户才能访问特定的资源。 六、IDE支持 项目中提到了两种...

    intellij idea 汉化包,解决打不开设置

    标题提到的“intellij idea 汉化包”就是这样一个解决方案,它能够将IntelliJ IDEA的界面语言转换为中文。描述中提到的“下载后,解压出来,放到lib目录下”,这是安装汉化包的具体步骤。具体操作如下: 1. 首先,...

    idea 10 idea x 64位 修改方法

    这些问题通常需要通过修改配置文件、系统环境变量或应用特定的解决方案来解决。 在标签中提到了"源码"和"工具",这可能意味着讨论的内容不仅限于IDEA的基础使用,还可能涉及到源代码级别的开发和利用IDEA的高级功能...

    mac更新,idea SVN问题获取资源问题

    除了上述常见解决方案之外,还可能需要关注macOS系统更新后对软件权限的影响。如果系统在更新中修改了文件权限,可能会导致SVN插件无法正常使用。可以通过终端使用`chmod`或`chown`命令修改权限,确保IntelliJ IDEA...

    IDEA 2018汉化包下载(亲测可用)

    如果仍有部分元素未汉化,可能是汉化包不完整或与当前IDEA版本不兼容,这时可以参考汉化说明或查找社区的解决方案。 总的来说,安装IntelliJ IDEA的汉化包是一个相对简单的过程,但需要注意备份和版本匹配问题。...

    员工宿舍信息管理系统-IDEA

    本系统基于先进的技术栈SpringBoot、Vue、Shiro和Mysql,结合Redis进行缓存处理,构建了一套高效、稳定且易维护的解决方案。 一、SpringBoot框架 SpringBoot是由Pivotal团队提供的全新框架,旨在简化Spring应用的...

    IDEA CheckStyle离线安装包

    "IDEA CheckStyle离线安装包"就是针对这种情况提供的一种解决方案。 **CheckStyle插件的安装与配置** 1. **下载离线安装包**:首先,你需要从官方渠道或者可靠的资源下载CheckStyle-IDEA的离线安装包。确保文件...

    多模块项目如何建解决方案

    1. **创建解决方案**:打开Visual Studio或其他支持多项目解决方案的IDE,如IntelliJ IDEA或Eclipse,选择"新建解决方案"选项。给解决方案命名,例如“MultiModuleSolution”。 2. **添加模块项目**:在新创建的...

    IntelliJ IDEA 2017 汉化包

    总的来说,"IntelliJ IDEA 2017 汉化包"是为中国用户定制的解决方案,旨在提供更友好的中文界面,并解决特定的使用问题。通过正确安装和使用汉化包,用户不仅可以无障碍地使用IDE的各项功能,还能享受到更加流畅的...

    IntelliJ IDEA修改了mybatis mapper xml后不用重启tomcat,自动热发布 热更新 热部署.zip

    在开发Java Web应用程序时,尤其是使用Mybatis作为持久层框架的时候,经常遇到的一个问题是:当我们在IntelliJ IDEA中修改了Mapper...同时,关注官方文档和社区解答,如CSDN问答频道,也可以帮助我们找到更多解决方案。

    idea 中导入cas

    值得注意的是,"修改了一天,终于搞定了"表明这个过程可能涉及一些特定的配置或问题解决,因此在实际操作时,遇到问题不要灰心,多查阅文档、社区问答和官方指南,通常都能找到解决方案。 总结起来,"idea中导入cas...

    IDEA 的 vuejs 插件安装包

    Vue.js 是一款流行的前端JavaScript框架,它以简单易用、高效和可组件化著称。在IntelliJ IDEA(简称IDEA)这个强大的Java开发环境中,我们...如果你遇到任何问题,可以查阅官方文档或社区资源,通常能找到解决方案。

    ideaiu2018-汉化包.zip

    "ideaiu2018-汉化包.zip"就是一个针对IntelliJ IDEA 2018版本的汉化解决方案,旨在将IDEA的界面语言转换为中文,提升中国用户的使用体验。 汉化过程如下: 1. **备份原始文件**:在开始汉化之前,你需要先备份原有...

Global site tag (gtag.js) - Google Analytics