2011-03-14 16 views
8

Maven-işlemci-eklentisi için bir ek açıklama yazıcısı yazmakla ilgileniyorum. Maven’e nispeten yeniyim.maven-processor-plugin için bir ek açıklama yazıcısı yazmak

Proje yolunda işlemci Java kaynak kodunun nereye gitmesi gerektiği (ör.: Src/main/java/...), böylece uygun şekilde derlenecek, ancak yapay JAR dosyamın bir parçası olarak bitmeyecek mi?

cevap

9

En kolay yol, ek not işlemcinizi bağımlılık olarak eklediğiniz ayrı bir projede tutmaktır.

<plugin> 
    <groupId>org.bsc.maven</groupId> 
    <artifactId>maven-processor-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>process</id> 
      <goals> 
       <goal>process</goal> 
      </goals> 
      <phase>compile</phase> 
      <configuration> 
       <processors> 
        <processor>com.yourcompany.YourProcessor</processor> 
       </processors> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

(bu olması gerektiğini unutmayın:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
     <source>1.5</source> 
     <target>1.5</target> 
    </configuration> 
    <inherited>true</inherited> 
    <executions> 
     <execution> 
      <id>default-compile</id> 
      <inherited>true</inherited> 
      <configuration> 
       <!-- limit first compilation run to processor --> 
       <includes>path/to/processor</includes> 
      </configuration> 
     </execution> 
     <execution> 
      <id>after-processing</id> 
      <phase>process-classes</phase> 
      <goals> 
       <goal>compile</goal> 
      </goals> 
      <inherited>false</inherited> 
      <configuration> 
       <excludes>path/to/processor</excludes> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

İşlemci Plugin: o takdirde

bu yapılandırma

Derleyici Eklentisi kullanabilir, sizin için çalışmıyor iki derleme çalıştırması arasında yürütüldüğü için, bu kodu pompanıza yerleştirmeniz önemlidir.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.3.1</version> 
    <configuration> 
     <excludes>path/to/processor</excludes> 
    </configuration> 
    <inherited>true</inherited> 
</plugin> 
: Yukarıdaki maven-derleyici eklenti konfigürasyon)

Kavanoz eklentisi sonra XML

İlgili konular