2013-01-10 11 views
7

ja analizowania dużego projektu w Sonar i pojawia się następujący błąd:Analiza sonaru zawiera błąd pamięci, czy powinienem zwiększyć przestrzeń sterty JVM serwera Ant lub Sonar?

[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) 

powinienem zwiększyć przestrzeń sterty Java z uruchomionym serwerem sonar, czy Ant cel wykonującemu pracę Sonar?

+0

Jakiego IDE używasz? – ppeterka

+0

Używam Jenkinsa do wykonania celu Ant (Sonar) – user1340582

+0

Och, OK, to jest możliwość, którą zostawiłem ... – ppeterka

Odpowiedz

13

Jak widać śladu stosu, mrówka zaczyna analizę sonar, dlatego należy zwiększyć przestrzeń sterty dla VM Ant biegnie w

Jest to bardzo podobne pytanie BTW. How to increase Sonar Java heap space

Dla wiersza polecenia Ant użytkowania

Cytat z odpowiedzi Mark O'Connor na inne pytanie:

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=-Xmx256m

Uwagi:

  • to dla Linux dla Windows, użyj polecenia
  • jest to bezwzględnie dla przestrzeni sterty set. dla Permgen użyć -XX:MaxPermSize=<desired amount>

Jest to nawet bardziej podobne pytanie: Build Failed java.lang.OutOfMemoryError: Java heap space

dla Eclipse IDE

cytat z artykułu 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=512m

Dla IntelliJ Idea

ten wątek jest przydatna: ANT build java heap space

cytat z odpowiedzi:

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.

Również od strony IntelliJ IDEA: Increasing Memory Heap

Cytat z artykułu:

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.

Dla Jenkins Con Integracja z ciągły i Ant zbudować

Kwestia ta jest użyteczna: How to use the Java Options in jenkins ant build tool to set ANT_OPTS

Cytat odpowiedź:

Set the JAVA OPTIONS as -Xmx512m -XX:MaxPermSize=256m only without the ANT_OPTS=

Dla Maven buduje, ten artykuł jest z użytku: How to increase maven heapspace in hudson builds

  1. Navigate to your hudson job,
  2. click Configure,
  3. scroll down to the Build section, and
  4. click the Advanced button.
  5. Enter this into MAVEN_OPTS: -Xmx512m -XX:MaxPermSize=128m
+0

co jest dla mac ..? – Mansur

Powiązane problemy