Quelle est la meilleure façon de configurer la configuration du compilateur de projet eclipse pour les processeurs d’annotation Java 6?
Ma solution consiste à configurer manuellement les fichiers org.eclipse.jdt.apt.core.prefs
et factorypath
. C’est un peu lourd:
(org.eclipse.jdt.apt.genSrcDir
propriété org.eclipse.jdt.apt.core.prefs
dans org.eclipse.jdt.apt.core.prefs
) Un problème est que les sources générées par éclipse seront compilées avec maven. Seule la maven clean comstack
est fiable car elle supprime les fichiers source générés par Eclipse. (Les fichiers source générés par Eclipse et javac peuvent être désynchronisés.)
Existe-t-il une meilleure solution pour configurer maven sans les fichiers source générés par éclipse au niveau du chemin source de maven?
${project.build.directory}/eclipse org.codehaus.mojo build-helper-maven-plugin 1.4 add-source generate-sources add-source ${eclipse.generated.src} org.apache.maven.plugins maven-eclipse-plugin .factorypath <![CDATA[ ]]> .settings/org.eclipse.jdt.apt.core.prefs
Mise à jour: Vous pouvez essayer d’utiliser le plugin apt-maven . Il propose actuellement trois objectives:
Vous pouvez configurer les objectives à exécuter dans le cadre de votre construction comme suit:
... ... org.codehaus.mojo apt-maven-plugin 1.0-alpha-2 process test-process ... ...
Par défaut, le répertoire de sortie est défini sur ${project.build.directory}/generated-sources/apt
,
Il existe un plugin Jira contre le compilateur ouvert pour append le support APT pour Java 6, vous pouvez aller voter pour cela si c’est quelque chose que vous voulez voir dans les futures versions.
J’utilise http://code.google.com/p/maven-annotation-plugin/ qui est plus simple à configurer. Vous pouvez l’utiliser de deux manières:
org.bsc.maven maven-processor-plugin process process generate-sources -encoding ${project.build.sourceEncoding} org.bsc.maven maven-processor-plugin process-test process-test generate-test-sources -encoding ${project.build.sourceEncoding} org.apache.maven.plugins maven-comstackr-plugin 2.3.1 1.6 1.6 ${project.build.sourceEncoding} -proc:none
Il existe une solution plus simple dans Eclipse Juno (je ne suis pas sûr des versions précédentes). Dans Préférences / Maven / Traitement des annotations, il existe trois modes de traitement des annotations. Il est désactivé par défaut, mais j’ai testé les deux autres options et a fonctionné comme un charme pour moi. Ainsi, vous n’avez pas besoin de configurer le traitement APT pour chaque projet ni de modifier son pom.xml.