J'ai un processeur d'annotation Java qui s'étend de AbstractProcessor.Java 6: comment transmettre plusieurs paramètres à APT
J'ai deux options prises en charge, addResDir
et verbose
, et je suis en train de les mettre comme ceci:
-AaddResDir=src/main/webapp -Averbose=true
J'ai aussi essayé:
-AaddResDir=src/main/webapp,verbose=true
alors qu'un seul des œuvres de paramètres, par exemple
-AaddResDir=src/main/webapp
Je ne peux pas les multiples paramètres à travailler et je ne trouve pas de documents pertinents. Ai-je besoin d'analyser les paramètres manuellement dans APT?
La seule chose que j'ai est la sortie de javac -help
:
-Akey[=value] Options to pass to annotation processors
EDIT
Il se révèle être un problème de Maven, après tout. Voici ma config 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>
Malheureusement, maven envoie l'argument Javac comme une seule chaîne dans le tableau args, alors qu'il doit bien sûr être deux cordes. La carte Version <compilerAguments>
est d'aucune aide non plus, parce que
<Averbose>true</Averbose>
<AaddResDir>src/main/webapp</AResDir>
génère la sortie:
[... , -Averbose, true, -AaddResDir, src/main/webapp]
Alors que javac requiert la syntaxe
[... , -Averbose=true, -AaddResDir=src/main/webapp ]
et
<Averbose=true />
<AaddResDir=src/main/webapp />
est invalidés d XML.
(Voir Mapping Maps du Guide to Configuring Maven Plugins)
Et je crains qu'il n'y ait aucun moyen de changer cela, argh.
EDIT:
J'ai maintenant filed a bug report.
En fait, je pense que vos doublons d'émission [MCOMPILER-130] (http://jira.codehaus.org/browse/ MCOMPILER-130) qui a été soulevée après http://stackoverflow.com/questions/3358242/is-it-possible-to-get-maven-to-accept-maxerrs-for-its-compiler-plugin. Mais la syntaxe de la carte ne vous sauvera pas ici. –
Non, je ne dirais pas que c'est un dupe car les paramètres d'annotation ont une syntaxe différente et il n'y a pas de solution pour cela. –
Je pense que vous avez raison, le problème est différent. –