Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sonar分析给出内存不足错误,我应该增加Ant或Sonar服务器的JVM堆空间吗?_Ant_Jvm_Jenkins_Sonarqube_Heap Memory - Fatal编程技术网

Sonar分析给出内存不足错误,我应该增加Ant或Sonar服务器的JVM堆空间吗?

Sonar分析给出内存不足错误,我应该增加Ant或Sonar服务器的JVM堆空间吗?,ant,jvm,jenkins,sonarqube,heap-memory,Ant,Jvm,Jenkins,Sonarqube,Heap Memory,我正在分析声纳的一个大型项目,得到以下错误: [sonar:sonar] 03:55:39.511 INFO p.PhasesTimeProfiler - Execute decorators... BUILD FAILED [...] [...] java.lang.OutOfMemoryError: Java heap space at org.sonar.batch.index.MeasurePersister.model(MeasurePersister.java:127) at o

我正在分析声纳的一个大型项目,得到以下错误:

[sonar:sonar] 03:55:39.511 INFO  p.PhasesTimeProfiler - Execute decorators...

BUILD FAILED
[...]
[...] java.lang.OutOfMemoryError: Java heap space
at 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)

我应该增加运行Sonar服务器的java堆空间,还是增加执行Sonar作业的Ant目标的java堆空间?

从堆栈跟踪中可以看到,Ant启动Sonar分析,因此应该增加Ant运行的VM的堆空间

这是一个非常相似的问题,顺便说一句:

用于命令行Ant的使用

引用马克·奥康纳对另一个问题的回答:

Sonar ANT任务作为ANT的一部分执行,因此需要使用标准ANT环境参数设置JVM堆。例如:

导出ANT_OPTS=-Xmx256m

备注:

  • 这适用于Linux,对于Windows,请使用
    set
    命令
  • 这完全是为了堆空间。对于
    Permgen
    ,使用
    -XX:MaxPermSize=
这是一个更相似的问题:

用于Eclipse IDE

引自文章

  • 在Eclipse打开菜单中:运行->外部工具->打开外部工具对话框
  • 在左侧选择要更改的生成脚本
  • 选择右侧的JRE选项卡
  • 将以下参数设置为VM参数:-Xms768m-Xmx1024m-XX:MaxPermSize=512m
对于IntelliJ Idea

此论坛线程非常有用:

引述答案:

请确保将堆添加到正确的位置。您需要单击IDEA的Ant工具窗口中的“属性”按钮,然后编辑那里的“最大堆大小(Mb)”字段

此外,从IntelliJ Idea页面:

文章引述:

构建过程的内存堆独立于IntelliJ IDEA内存堆,并在构建过程完成后释放

要增加内存堆,请执行以下操作: 打开生成文件属性对话框。 在最大堆大小字段中,键入所需的内存量

用于Jenkins持续集成和Ant构建

这个问题很有用:

引述答案:

仅在没有ANT_选项的情况下,将JAVA选项设置为-Xmx512m-XX:MaxPermSize=256m=

对于Maven构建,本文非常有用:

  • 导航到你的哈德逊工作
  • 单击“配置”
  • 向下滚动至构建部分,然后
  • 单击高级按钮
  • 将此输入到MAVEN\u选项:-Xmx512m-XX:MaxPermSize=128m

  • 我正在用詹金斯来执行蚂蚁目标(声纳)哦,好吧,这是我遗漏的可能性…什么是mac。。?