У меня есть проект Java, который построен с использованием Maven. Я хотел бы добавить опции в командную строку «javac» - в частности, я хочу передать несколько параметров «-J».Как передать опции «-J» в javac через Maven?
Так обычно я хотел бы сделать что-то вроде этого:
<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
При более внимательном рассмотрении оказывается, что специалист-от компилятора плагин записывает все аргументы компилятора в файл опций и вызывает javac как «javac @optionfile». Согласно официальной документации Javaс в http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/javac.html:
@argfiles Один или несколько файлов, в котором перечислены параметры и исходные файлы. Параметры -J не разрешены в этих файлах.
Так что, похоже, что опция в maven-compiler-plugin не будет работать - она хочет использовать файлы arg, файлы arg не могут содержать параметры, которые я хочу.
Я также видел некоторые предложения по использованию карты вместо этого - однако это имело сходные результаты, когда я пробовал это.
Есть ли другие варианты?
выглядит, как вы попали в известную проблему - http://jira.codehaus.org/browse/MCOMPILER-129 – radai