2013-02-17 2 views
9

Maven을 사용하여 빌드 된 Java 프로젝트가 있습니다. "javac"명령 줄에 옵션을 추가하고 싶습니다. 특히 "-J"옵션을 몇 개 전달하고 싶습니다.Maven을 통해 javac에 "-J"옵션을 전달하는 방법은 무엇입니까?

그래서 일반적으로 나는 같은 것을 할 것입니다 :

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <compilerArgument>-J-Xdebug</compilerArgument> 
     <compilerArgument>-J-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005</compilerArgument> 
    </configuration> 
</plugin> 

을 내가 이것을 시도 할 때 나는 형태의 오류를 얻을 : 가까이 조사에

[ERROR] Failure executing javac, but could not parse the error: 
javac: invalid flag: -J-Xdebug 
Usage: javac <options> <source files> 
use -help for a list of possible options 

, 그것은 보인다 받는다는-compiler- 플러그인은 모든 컴파일러 인수를 옵션 파일에 기록하고 'javac @optionfile'과 같은 javac을 호출합니다. http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/javac.html에서 javac의 공식 문서에 따르면

@argfiles 옵션과 소스 파일을 나열 하나 이상의 파일을. 이 파일에는 -J 옵션을 사용할 수 없습니다.

그래서 maven-compiler-plugin의 옵션이 작동하지 않을 것입니다. arg 파일을 사용하고 싶습니다. arg 파일에 원하는 옵션을 포함 할 수 없습니다.

지도를 사용하는 방법에 대한 몇 가지 제안을 보았습니다. 그러나 시도했을 때 비슷한 결과가 나타났습니다.

다른 옵션이 있습니까?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.0</version> 
    <configuration> 
     <verbose>true</verbose> 
     <fork>true</fork> 
     <executable><!-- path-to-javac-invoking-script --></executable> 
     <compilerVersion>1.3</compilerVersion> 
    </configuration> 
    </plugin> 

과 실제 javac의에 따라 모든 인수를 전달할 것입니다 스크립트/박쥐 파일의 경로와 함께 제공 :이 같은 것을 사용할 수 있도록

+2

보이는 내 문제를 해결하지 않고 지금 작동합니다 - http://jira.codehaus.org/browse/MCOMPILER-129 – radai

답변

4

컴파일러 플러그인, specify the location of the jdk 당신을 수 있습니다 너의 추가 주장과 함께?

편집-the original issue 컴파일러 플러그인 2.4+에서 수정되었습니다 이것은 당신이 알려진 문제를 칠 것 같은

+0

잘 작동하는지 확인할 수 있습니다 ... 확실히 해결 방법이지만 버그가 업스트림에 고정되어 있고 플러그인의 새 버전을 기다리는 것이 부족합니다. –

+0

@RichardDowner - 당신은 묻지 않습니다. 예쁘다 ;-) – radai

관련 문제