2011-02-09 115 views
3

我嘗試編譯包含生成源代碼的註釋的代碼。我使用maven-compiler-pluginbuild-helper-maven-plugin。我的POM正在尋找這樣的:使用maven-compiler-plugin進行Maven註解處理

 <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> 

當我運行mvn compile${project.build.directory}/generated-sources/apt添加爲源目錄,生成的源在正確的目錄中生成。但是由於缺少對生成的類的引用,導致編譯器錯誤。這就像生成的源目錄不包含在編譯過程中。

我也嘗試apt-maven-plugin它不會產生任何東西。並且maven-annotation-plugin但它的行爲如上所述。

回答

0

你可以試用最新版本的maven編譯器插件(2.3.2)嗎?

也不需要build-helper-maven-plugin,因爲它看起來像你使用maven-compiler-plugin本身來從註釋中生成源。

+0

我有同樣的問題,它工作正常使用`2.3.2`,有一個「虛假的錯誤」關於'失蹤symbol`定義,但它的只是在第一遍生成* Metamodel * – dcestari 2011-02-24 00:01:42

1

Maven的註解插件的版本2.0.7-SNAPSHOT應該解決的問題