2010-02-12 13 views
8

için açıklığa kavuşturabiliriz: Bir hedef belirli bir aşamada çalışacak şekilde tanımlanmışsa, tek bir hedefe tüm aşamalardan geçmeden çalıştırmak mümkün olur. Diğer bir deyişle, bağımlılıklar, kaynak oluşturma, derleme, test etme, paket, vb. Olmadan antrun:run hedefini (kurulum aşamasının bir parçası olarak tanımlanmıştır) çalıştırmak mümkün olabilir mi?Bir maven fazına bağlı belirli bir hedefi tekilleştirmek ve çalıştırmak mümkün mü?

package aşamasında bir zip dosyası oluşturmak ve install aşamasında bazı dosyaları silmek ve kopyalamak için antrun eklentisini kullanıyorum. Tek maven eklenti hedeflerinin nasıl çalıştırılacağını anlıyorum, örneğin: mvn antrun:run. Bununla birlikte, belirli bir yürütmenin hedefini yürütmenin bir yolu var mı? mvn antrun:run:execution-id veya mvn phase:antrun:run gibi bir şey? Örneğin, maven'e başka bir şey yapmasını söyleyemedim, ancak aşağıda konuşlandırma aşaması içinde tanımlanan karınca görevlerini yerine getirebilirsem temel olarak, iyi olurdum. Örneğin; Dağılım evresindeki karınca görevlerinin doğru bir şekilde çalışıp çalışmadığını kontrol etmek için mavenlerin tüm aşamalardan geçmesini beklemek çok sıkıcı.

ex
<executions> 
    <!-- create zip file --> 
    <execution> 
    <id>create-zip</id> 
    <phase>package</phase> 
    <configuration> 
     <tasks> 
    ...create zip... 
     </tasks> 
    </configuration> 
    <goals> 
     <goal>run</goal> 
    </goals> 
     </execution> 
    <!-- do some other stuff --> 
    <execution> 
    <id>copy-files</id> 
    <phase>install</phase> 
    <configuration> 
     <tasks> 
    ...delete some files, copy some files ... 
     </tasks> 
    </configuration> 
    <goals> 
     <goal>run</goal> 
    </goals> 
     </execution> 
    </executions> 
+0

Evet bu mümkün – ant

cevap

6

deneyin o .. üzerinde olacağını vardır bağımlılık, üretim kaynakları, derleme, test, paket, vb. olmadan antrun: run hedefi (aşağıdaki kurulum aşamasının bir parçası olarak tanımlanır) çalıştırılabilir mi?

Hayır değil. Bir eklentiyi (<plugin> öğesinin altındaki <configuration> bölümüyle) yapılandırabilir ve komut satırında oturum açabilirsiniz, ancak belirli bir executionid'i (ve dolayısıyla <execution>'a özgü <configuration>) çalıştıramazsınız.

sizin durumunuzda tek çözüm en bu profildeki eklentiyi yapılandırmak için yapılandırmasının şu kısmını çoğaltmak için, my-profile diyelim bir profilde antrun eklentisi ilan etmek olacaktır:

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.3</version> 
    <configuration> 
    <tasks> 
     ... delete some files, copy some files ... 
    </tasks> 
    </configuration> 
</plugin> 

ve Doğru aktif profil ile arayın:

mvn antrun:run -Pmy-profile 
0

: Eğer maven ile JBoss çalıştırdığınızda

, sen jboss konsol çıktısını göremiyorum ama, o göstermek gerekir bu yüzden olduğunu ne yaptığını ben okuyan bir java dosyası yazdı server.log'da (sunucu konsolu çıkışı) değişiklikler değiştikçe, jboss konsolunun aslında (hack-ish ama is hack) gösterdiği görülür. Bu yüzden soruya cevap verme noktasına geldim, ön entegrasyon testi sırasında java programımı başlatan bir java hedefi yaptım. Burada kullanılarak elbette eklentisi yürütmek nasıl: Sadece yüklemek çalıştırmak

<plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.1</version> 
       <executions> 
        <execution> 
         <id>console-start</id> 
         <phase>pre-integration-test</phase> 
         <goals> 
          <goal>java</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <mainClass>org.eclipse.console.Main</mainClass> 
       </configuration> 
      </plugin> 

ve bu sadece java gibi bir şey yürütmek eklenti kullanmak istiyorsanız ancak, ön-entegrasyon-test sırasında yürütür. Uygun değil cevap, ben ayrıntılarda sorunuzu okumak için sabır olmasaydı Maalesef benim iş saatleri şerefe

İlgili konular