У меня есть обработчик Java-аннотации, который простирается от AbstractProcessor.Java 6: как передать несколько параметров APT
Я два поддерживаемых вариантов, 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, в конце концов. Вот мой 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>
К сожалению, специалист отправляет аргумент Javac в виде одной строки в массиве арг, в то время как оно должно быть, конечно, две строки. Карта Версия <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 />
является invali d XML.
(см Mapping Maps от Guide to Configuring Maven Plugins)
И я боюсь, что нет никакого способа изменить это, Argh.
EDIT:
я сейчас filed a bug report.
На самом деле, я думаю, что ваша проблема дублируют [MCOMPILER-130] (http://jira.codehaus.org/browse/ MCOMPILER-130), который был поднят после http://stackoverflow.com/questions/3358242/is-it-possible-to-get-maven-to-accept-maxerrs-for-its-compiler-plugin. Но синтаксис карты не спасет вас здесь. –
Нет, я бы не сказал, что это обман, поскольку параметры аннотации имеют другой синтаксис, и для этого нет обходного пути. –
Я думаю, вы на самом деле правы, проблема другая. –