2011-02-09 3 views
3

Je tente de compiler mon code qui contient des annotations qui génèrent du code source. J'utilise le maven-compiler-plugin et build-helper-maven-plugin. Mon POM est à la recherche comme ça:Traitement d'annotation Maven avec maven-compiler-plugin

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <generatedSourcesDirectory>${project.build.directory}/generated-sources/apt</generatedSourcesDirectory> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>build-helper-maven-plugin</artifactId> 
      <version>1.5</version> 
      <executions> 
       <execution> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>add-source</goal> 
        </goals> 
        <configuration> 
         <sources> 
          <source>${project.build.directory}/generated-sources/apt</source> 
         </sources> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

Quand je lance mvn compile, ${project.build.directory}/generated-sources/apt est ajouté en tant que répertoire source, et les sources générées sont générés dans le bon répertoire. Mais j'obtiens des erreurs de compilateur à cause de références manquantes aux classes générées. C'est comme si le répertoire source généré n'était pas inclus dans le processus de compilation. J'ai aussi essayé apt-maven-plugin qui ne génère rien. Et maven-annotation-plugin mais il se comporte comme décrit ci-dessus.

Répondre

0

Pouvez-vous essayer avec la dernière version de maven compiler plugin (2.3.2)?

Egalement build-helper-maven-plugin n'est pas requis car il semble que vous utilisiez le maven-compiler-plugin lui-même pour générer les sources à partir de l'annotation.

+0

J'ai eu le même problème, il fonctionne très bien avec '2.3.2', il y a une « fausse erreur » au sujet de' manque de définitions symbol' mais il est juste sur le premier passage pour générer le * Metamodel * – dcestari

1

La version 2.0.7-SNAPSHOT de-plugin maven-annotation devrait résoudre le problème