У меня есть процессор аннотаций Java, который расширяется от AbstractProcessor .
У меня есть две поддерживаемые опции, addResDir
и verbose
, и я пытаюсь установить их так:
-AaddResDir=src/main/webapp -Averbose=true
Я также пробовал это:
-AaddResDir=src/main/webapp,verbose=true
Пока работает один параметр, например,
-AaddResDir=src/main/webapp
Я не могу заставить работать несколько параметрови я не могу найти соответствующие документы.Нужно ли анализировать параметры вручную в APT?
Единственное, что у меня есть, это вывод javac -help
:
-Akey[=value] Options to pass to annotation processors
EDIT
Оказывается, это проблема мавена, в конце концов.Вот мой конфиг maven:
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<optimize>true</optimize>
<debug>true</debug>
<compilerArgument>-AaddResDir=src/main/webapp -Averbose=true</compilerArgument>
</configuration>
</plugin>
К сожалению, maven отправляет аргумент Javac в виде одной строки в массиве args, хотя, конечно, это должны быть две строки.Версия карты <compilerAguments>
также не помогает, потому что
<Averbose>true</Averbose>
<AaddResDir>src/main/webapp</AResDir>
генерирует вывод:
[... , -Averbose, true, -AaddResDir, src/main/webapp]
В то время как javac требует синтаксис
[... , -Averbose=true, -AaddResDir=src/main/webapp ]
и
<Averbose=true />
<AaddResDir=src/main/webapp />
является недопустимым XML.
(см. Отображение карт из Руководства по настройке подключаемых модулей Maven )
И яБоюсь, что это невозможно изменить, аааа.
РЕДАКТИРОВАТЬ:
Я подал отчет об ошибке .