2012-01-27 12 views
2

をインストールし実行:私が使用して、突出を構築していた場合MVN OOMエラーで結果

[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] Failure executing javac, but could not parse the error: 


The system is out of resources. 
Consult the following stack trace for details. 
java.lang.OutOfMemoryError: PermGen space 

私は更新されるだろうどこか分からない:

MVN私は以下を参照してください。

をインストール私のJavaオプション?

私はこれをubuntuで実行しています。

+1

の可能重複[java.lang.OutOfMemoryErrorを:PermGenスペース](http://stackoverflow.com/questions/3101128/java-lang-outofmemoryerror-permgen-space) –

+0

重複:http://stackoverflow.com/questions/2210005/config-maven-2-to-print-out-javac-commands-during-compile-phase –

答えて

4

あなたのオプションを調整します。一般的に、これは/ etc/mavenrc、$ {HOME} /。mavenrc、またはWindows環境のプロパティダイアログボックスで設定されます。 MaxPermSizeを:

export MAVEN_OPTS="-Xmx512M -XX:MaxPermSize=512M" 

は、最初のオプション「-Xmx512Mは、」第二の選択肢「-XXながら、最大メモリを設定します(あなたの状況に応じて)あなたは数字を増やさないといけないだろう、いくつかのために

を働いています= 512M "は、PermGen空間を(この場合)最大メモリまで大きくすることができます。

+0

ダウン投票済みなぜなら、動作している間に、このアドバイスに続くプロジェクトは、PC間を移動するときに危険にさらされるからです。 – Virmundi

7

誰かの環境に依存したくない場合は、コンパイラプラグインをforkして十分なメモリを割り当てるように指定することができます。

は、私はあなたが実際にあなたの親POMプロジェクトの<pluginManagment>セクションでこれを行う示唆

<build> 
    ... 
    <pluginManagment> 
    ... 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
     ... 

     <!-- Memory management --> 
     <fork>true</fork> 
     <meminitial>128m</meminitial> 
     <maxmem>512m</maxmem> 

     ... 
     </configuration> 
    </plugin> 
    ... 
    </pluginManagment> 
    ... 
</build> 
+0

これは、osがデフォルトで使うものとは反対の新しいjvmを起動させますか? – codecompleting

+0

@codeecompleting。正しい。 –

+0

将来の世代にとっては、これを正確に実行したいと考えています。 gitクローンがPCに触れなくてもmaven環境をセットアップするので、スムーズにボード上で簡単に移動できます。また、ビルドのトラブルシューティング時に構成を簡単に利用できるようにします(スタックトレースを最初に見ているのはPOMなので、技術的には2番目に見えます)。 – Virmundi

関連する問題