2009-09-15 17 views

cevap

14

Özel bir yaşam döngüsünü tanımlayan ve Mojo execute açıklama yoluyla yürütülür önce yaşam döngüsünü çağırarak bunu yapabilirsiniz. sizin Mojo ise

, yaşam döngüsü yürütülecek Javadoc beyan:

/** 
* Invoke the custom lifecycle before executing this goal. 
* 
* @goal my-goal 
* @execute lifecycle="my-custom-lifecycle" phase="process-resources" 
*/ 
public class MyMojo extends AbstractMojo { 
... 

Sonra/main/resources/META-INF/maven/lifecycle.xml src özel yaşam döngüsünü tanımlar.

Yaşam döngüsü, pleksus 'components.xml gibidir, ancak bu hedefler için yapılandırmayı belirtmenize izin verir.

Sözdiziminin, pompanın eklenti konfigürasyonlarından biraz farklı olduğunu unutmayın. Ayrı groupId, artifactId ve sürüm öğeleri belirtmekten ziyade bir ayırıcı olarak kullanarak bir hedef tanımlarsınız, aksi takdirde, bu, pompada bir eklenti yapılandırmasının yürütme öğesiyle büyük ölçüde aynıdır. Lifecycle.xml'deki bazı özellikleri bile kullanabilirsiniz (muhtemelen tüm özellikler desteklenmiyor olsa da, bunu kontrol etmem gerekecek). Bağımlılık eklentisi çatallı arasında process-resources aşamasında her yapılandırma ile bir kez çağrılır Bu yaklaşımla

<lifecycles> 
    <lifecycle> 
    <id>download-dependencies</id> 
    <phases> 
     <phase> 
     <id>process-resources</id> 
     <executions> 
      <execution> 
      <goals> 
       <goal> 
       org.apache.maven.plugins:maven-dependency-plugin:copy-dependencies 
       </goal> 
      </goals> 
      <configuration> 
       <includeScope>compile</includeScope> 
       <includeTypes>war</includeTypes> 
       <overWrite>true</overWrite> 
       <outputDirectory> 
       ${project.build.outputDirectory}/wars 
       </outputDirectory> 
      </configuration> 
      </execution> 
      <execution> 
      <goals> 
       <goal> 
       org.apache.maven.plugins:maven-dependency-plugin:copy-dependencies 
       </goal> 
      </goals> 
      <configuration> 
       <includeScope>compile</includeScope> 
       <includeTypes>jar</includeTypes> 
       <overWrite>true</overWrite> 
       <outputDirectory> 
       ${project.build.outputDirectory}/jars 
       </outputDirectory> 
      </configuration> 
      </execution> 
     </executions> 
     </phase> 
    </phases> 
    </lifecycle> 
</lifecycles> 

:

Aşağıdaki örnek, işlem kaynak fazında farklı konfigürasyonları ile iki kez eklentisi bağımlılık çağırır Yaşam döngüsü (Mojo'da tanımlanmış olan yürütme içinde gerçekleşir). lifecycle.xml olarak

, birden fazla fazlar ve yaşam döngüsünün faz başına birden yürütmeleri tanımlayabilir. Mevcut fazlar Maven lifecycle'da tanımlanmıştır.

Sen Maven kitabın Creating a Custom Lifecycle bölümünde ömürleri hakkında daha fazla bilgi bulabilirsiniz. Bununla birlikte, izin verilenlere ilişkin ayrıntılı bir liste vermez. Ben Maven 2 alpha gelen olup olmadığını bilmek sadece diğer referans, bu yüzden çalışması gerekir gibi en güncel

+0

sayesinde bu görünüyor muhtemelen değil. Lifecycle.xml dosyasında hangi içeriğe izin verildiğini nereden bulabileceğimi biliyor musunuz? –

+0

Yanıtın sonuna bazı referanslar ekledim. –

+0

Maven'in Lifecycle.xml referansı olsa da kanonik bir referans bilmiyorum [burada] (http://maven.apache.org/ref/2.2.1/maven-plugin-descriptor/lifecycle-mappings.html), bununla birlikte, örnek verdiğinden daha fazla bilgiye sahip değildir. – prunge

İlgili konular