2014-05-15 15 views
6

Ich muss Java Heap Space vergrößern, um mein Projekt zu kompilieren. Die einzige Art, wie ich gefunden ist mvn.bat ändern und einstellen:Fügen Sie MAVEN_OPTS in die POM.xml ein

set MAVEN_OPTS=-XX:PermSize=256m -XX:MaxPermSize=256m -Xms1300M -Xmx1300M 

als alle Kollegen localy die Datei ändern müssen. Ich möchte alles in meinem Projekt behalten, nicht localy. Kann ich in die Datei POM.xml oder eine andere Datei einfügen?

Antwort

6

Einstellung MAVEN_OPTS liefert normalerweise Argumente für die JVM, die den Build ausführt, und diese werden an den Compiler übergeben, da er inline ausgeführt wird. Sie haben wahrscheinlich bereits bemerkt, dass der für den Test verwendete maven-surefire-plugin normalerweise einen separaten Prozess forkiert, so dass die Übergabe von Optionen an das Plugin innerhalb der pom.xml erfolgt.

Was ist, wenn Sie den Kompilierungsvorgang ebenfalls forkieren und die Flags dort hinzufügen, wie im folgenden Beispiel.

Beachten Sie die Gabel und der Compiler args

<project> 
    [...] 
    <build> 
    [...] 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <fork>true</fork> 
      <meminitial>128m</meminitial> 
      <maxmem>512m</maxmem> 
      <compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument> 
     </configuration> 
     </plugin> 
    </plugins> 
    [...] 
    </build> 
    [...] 
</project> 
Verwandte Themen