引用答案: 请确保您在正确的位置增加了堆.您需要在 IDEA的Ant工具窗口中单击属性"按钮,然后在其中编辑最大堆大小(Mb)" 字段.此外,在IntelliJ Idea页面上:增加内存堆文章引用: 构建过程的内存堆独立于IntelliJ IDEA内存堆,并在构建过程完成后释放. 要增加内存堆: 打开构建文件属性对话框. 在最大堆大小字段中,键入所需的内存量. 用于Jenkins持续集成和Ant构建这个问题很有用:如何在jenkins蚂蚁构建工具中使用Java Options来设置ANT_OPTS引用答案: 仅在不使用ANT_OPTS = 的情况下将JAVA OPTIONS设置为-Xmx512m -XX:MaxPermSize = 256m对于 Maven构建,本文非常有用:如何在hudson构建中增加Maven堆空间 导航到您的哈德森工作, 点击配置, 向下滚动到构建部分,然后 点击高级按钮. 在 MAVEN_OPTS中输入:-Xmx512m -XX:MaxPermSize = 128mI am analysing a large project in Sonar and get the following error:[sonar:sonar] 03:55:39.511 INFO p.PhasesTimeProfiler - Execute decorators...BUILD FAILED[...][...] java.lang.OutOfMemoryError: Java heap spaceat org.sonar.batch.index.MeasurePersister.model(MeasurePersister.java:127)at org.sonar.batch.index.MeasurePersister.getMeasuresToSave(MeasurePersister.java:117)at org.sonar.batch.index.MeasurePersister.dump(MeasurePersister.java:70)at org.sonar.batch.index.DefaultPersistenceManager.dump(DefaultPersistenceManager.java:63)at org.sonar.batch.phases.Phases.execute(Phases.java:95)at org.sonar.batch.bootstrap.ProjectModule.doStart(ProjectModule.java:139)at org.sonar.batch.bootstrap.Module.start(Module.java:83)at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:131)at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:121)at org.sonar.batch.bootstrap.Module.start(Module.java:83)at org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:121)at org.sonar.batch.bootstrap.Module.start(Module.java:83)at org.sonar.batch.Batch.execute(Batch.java:104)at org.sonar.ant.Launcher.execute(Launcher.java:78)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:616)at org.sonar.ant.SonarTask.delegateExecution(SonarTask.java:244)at org.sonar.ant.SonarTask.execute(SonarTask.java:193)at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:616)at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)at org.apache.tools.ant.Task.perform(Task.java:348)at org.apache.tools.ant.Target.execute(Target.java:392)at org.apache.tools.ant.Target.performTasks(Target.java:413)at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)at org.apache.tools.ant.Project.executeTargets(Project.java:1251)at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)Should I increase the java heap space of the running Sonar server, or the Ant target executing the Sonar job? 解决方案 As you can see from the stack trace, the Ant starts the Sonar analysis, so you should increase the heap space for the VM the Ant runs in.This is a very similar question BTW: How to increase Sonar Java heap spaceFor command line Ant usageQuote from the answer by Mark O'Connor on the other question: The Sonar ANT task executes as part of ANT so you need to set the JVM heap using the standard ANT environment parameter. For example: export ANT_OPTS=-Xmx256mRemarks:this is for Linux, for Windows, use the set commandthis is strictly for the heap space. for Permgen, use -XX:MaxPermSize=<desired amount>This is an even more similar question: Build Failed java.lang.OutOfMemoryError: Java heap spaceFor Eclipse IDEQuote from the article http://soenkerohde.com/2008/06/change-eclipse-ant-settings-when-you-run-out-of-memory/ In Eclipse open menu: Run->External Tools->Open External Tools Dialog… Select the build script you want to change on the left Select the JRE tab on the right Set the following as VM arguments: -Xms768m -Xmx1024m -XX:MaxPermSize=512mFor IntelliJ IdeaThis forum thread is useful: ANT build java heap spaceQuote from the answers: Please make sure that you increased heap in a correct place. You need to click 'Properties' button in IDEA's Ant tool window and edit 'Maximum heap size (Mb)' field there.Also, from the IntelliJ Idea page: Increasing Memory HeapQuote from the article: The memory heap of the build process is independent of IntelliJ IDEA memory heap, and is released after the build process is complete. To increase a memory heap: Open the Build File Properties dialog box. In the Maximum heap size field, type the required amount of memory.For Jenkins Continuous Integration and Ant buildThis question is useful : How to use the Java Options in jenkins ant build tool to set ANT_OPTSQuote from the answer: Set the JAVA OPTIONS as -Xmx512m -XX:MaxPermSize=256m only without the ANT_OPTS=For Maven builds, this article is of use: How to increase maven heapspace in hudson builds Navigate to your hudson job, click Configure, scroll down to the Build section, and click the Advanced button. Enter this into MAVEN_OPTS: -Xmx512m -XX:MaxPermSize=128m 这篇关于Sonar分析给出了内存不足错误,我应该增加Ant或Sonar服务器的JVM堆空间吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云! 08-05 16:56