2010-02-05 3 views
9

Maven 2 (> 2.0.10)가 실행중인 실제 javac 명령을 강제로 인쇄 할 수있는 방법이 있습니까? MAVEN_OPTS를 사용하여 최대치를 높이었지만 메모리가 부족합니다. 나는 메모리가 부족한 실행중인 실제 명령을 볼 수 있기를 원합니다.Config Maven 2는 컴파일 단계에서 javac 명령을 출력합니다.

나는 치어 파일의 플러그인 관리 섹션에서 아래의 자세한 설정을 사용하여 시도했다 그러나 그것은 나에게 javac의 명령을 제공하지 않는 것 :

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <source>1.5</source> 
     <target>1.5</target> 
     <maxmem>1024m</maxmem> 
     <compilerArguments> 
      <verbose/> 
     </compilerArguments> 
    </configuration> 
</plugin> 

답변

14

당신이 -X 명령으로 메이븐을 실행하는 시도 되세요을 디버깅 정보를 인쇄 하시겠습니까?

$ mvn -? 
... 
-X,--debug  Produce execution debug output 

다음 클래스 경로를 출력한다 받는다는-javac의 - 플러그인이 사용되고, 소스 디렉토리/경로 등

+0

흠. 그건 javac 명령을주지는 않지만 그것은 명령에 전달되는 maxmem이 MAVEN_OPTS에 설정된 것에주의를 기울이지 않는다는 것을 보여줍니다. 또한 컴파일러 플러그인 설정 섹션의 maxmem에주의를 기울이지 않습니다. POM 파일도. –

+0

'M2_OPTS'를 사용하고 싶습니다. –

+1

올바른 envvar는 MAVEN_OPTS입니다 (예 : MAVEN_OPTS = -Xmx1024m). pom의 maxmem 구성은 컴파일러 플러그인을 설정하여 javac을 새 jdk로 포크하는 경우에만 적용됩니다. 그렇지 않으면 플러그인은 Maven과 같은 Jdk 내부에서 실행되고 따라서 MAVEN_OPTS를 통해 cli에 전달 된 메모리 내에서 실행됩니다. –

관련 문제