簡體   English   中英

Maven 3.0.4 - 編譯后執行注釋處理器

[英]Maven 3.0.4 - execute annotation processors after compile

我想在我的Maven 3.0.4項目中運行以下基本過程。 我已經掌握了所有基礎知識並且沒有遇到任何問題,但在第3步遇到了問題。 出於某種原因,基本的解決方案是逃避我,因為它似乎應該非常明顯。

  1. 運行基本的清理/安裝(沒有注釋處理)
  2. 請求運行站點構建
  3. 在站點構建開始之前, 使用在初始步驟中編譯的注釋處理器類對編譯的類運行注釋處理

我嘗試設置注釋處理目標如下:

<plugin>
  <groupId>org.bsc.maven</groupId>
  <artifactId>maven-processor-plugin</artifactId>
  <executions>
    <execution>
      <id>process</id>
      <goals>
        <goal>process</goal>
      </goals>
      <phase>pre-site</phase>
      <configuration>
        <outputDirectory>${basedir}/target/generated-documentation</outputDirectory>
        <processors>
          <processor>com.mydomain.MyFancyAnnotationProcessor</processor>
        </processors>
      </configuration>
    </execution>
  </executions>
</plugin>

出於某種原因,這似乎不起作用。 我覺得我正在做一些非常非常愚蠢的事情,這使得它無法正常工作。

我正在使用Maven Annotation插件而不是基本的Mojo Apt插件 如果某人有一個有效的解決方案,我不介意切換。 我沒有任何立即成功的跡象我試過了。 再一次,感覺它只是我忽略的一些明顯的東西。

收到錯誤:

[INFO] diagnostic error: Annotation processor 'com.mydomain.MyFancyAnnotationProcessor' not found
[ERROR] error on execute: error during compilation

我的猜測是插件不包括當前項目本身的類路徑。 最好的解決方案是盡可能將注釋處理器分離到自己的(子)模塊中。 如果你不能這樣做,你或許可以將這個項目本身作為插件的依賴項添加(使用插件節點下的<dependencies>部分)。

作為診斷說明,您可以使用'-X'參數運行maven以查看有關構建的詳細信息。 這應該會顯示插件執行時類路徑上的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM