Tek bir Maven eklentisi yürütmesi çalıştırılsın mı?


98

Deneyimli bir Maven kullanıcısı olduğumu sanıyordum, ancak bunun nasıl yapılacağı konusunda zihinsel bir engelim var!

Tanımladığım ve pre-integration-testaşamaya bağladığım eklenti yürütmeleri aracılığıyla bir veritabanına bir şema bırakmak, oluşturmak ve kurmak için Maven sql eklentisini kullanabildim .

Ancak, şimdi aynı sql eklentisini komut satırından istediğim zaman, yani herhangi bir yaşam döngüsü hedefine bağlı olmayan bazı örnek verileri eklemek için kullanmak istiyorum. Birkaç farklı örnek veri kümesi vardır, bu nedenle birkaç farklı yürütme tanımlamak istiyorum.

Ancak bu yürütmelerden birini komut satırından yürütme kimliğini kullanarak çalıştırmanın bir yolu var mıdır?


Yanıtlar:


139

Belirtildiği gibi nasıl komut satırından doğrudan maven plugin yürütme yürütmek için? Bu işlev edilmiş uygulanan olarak MNG-5768 ve Maven 3.3.1 mevcuttur.

Değişiklik:

isteğe bağlı @ execution-id parametresine izin vermek için doğrudan eklenti çağırma sözdizimini genişletin, örneğin, org.apache.maven.plugins: maven-remote-resources-plugin: 1.0: process @ executionId.

Dolayısıyla, infazınıza bir kimlik verdiğiniz sürece:

mvn sql:execute@specific-execution-id

pom'unuzda yapılandırılan yürütmeyi kullanır.


Bu harika :)
GabrielBB

49

Ancak bu yürütmelerden birini komut satırından yürütme kimliğini kullanarak çalıştırmanın bir yolu var mıdır?

Hayır, mümkün değil . Yine de mümkün olan , eklenti "özel" yürütme kimliği kullanılarak komut satırından çağrıldığında kullanılacak "a" yapılandırmasını tanımlamaktır default-cli:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>sql-maven-plugin</artifactId>
  <version>1.4</version>
  ...
  <executions>
    <execution>
      <id>default-cli</id>
      <configuration>
        ...
      </configuration>
    </execution>
    ...
  </executions>
</plugin>

Ve sadece arayın mvn sql:execute.

Ayrıntılar için aşağıya bakın ( Maven 2.2.0 Sürüm Notlarından ):

  • MNG-3401 - Maven 2.2.0 başlayarak, gol bir special kullanan diğer eklenti çağırmaları ayrı POM yapılandırılabilir komut satırından doğrudan çağrılan executionIddenir default-cli. Daha önce, komut satırı hedeflerine yönelik tüm yapılandırmaların eklenti düzeyinde yapılandırmaya gitmesi gerektiğinde, Maven 2.2.0, komut satırına özgü yapılandırmaların kendilerine ayrılmasına izin verir <execution>. Daha fazla bilgi için Varsayılan Yürütme Kimlikleri Kılavuzuna bakın .

1
Bahse girerim iki farklı profil kullanarak istediğinizi elde edebilirsiniz
Daniel Kaplan

4
Bu yanıt artık Maven'in mevcut sürümlerinde geçerliliğini yitirmiştir. @Joe
Noremac
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.