2014-04-23 24 views
6

Ben multimodule maven projesi var ve hazırlama salımının kısmını otomatik hale getirmek istiyoruz. sürümden önce ben değiştirilen modül A'nın sürümünü artırmak ve ben modül B A bağlıdır çünkü, Ben de "versiyonları" olduğunu biliyoruz B. sürümünü artırmak ve maven eklentileri "serbest" gerekiyor, ama onlar değil sürüm güncellemesini basamaklandırır. B versiyonunun otomatik olarak güncellenmesi mümkün mü? Biz ana modülünün sürümünü kullanmayan , bu yüzden güncellemek gerekmez:MAVEN kaskadlı versiyon seti nasıl yapılır?

Bazı eklemeler net olarak iletmek. versiyon tümseği önce

:

parent module (1.0) 
| 
|-- A module (0.01.00) 
|-- B module (0.02.00) 

versiyonu tümseği sonra:

parent module (1.0) 
| 
|-- A module (0.01.01) 
|-- B module (0.02.01) 
+0

O ne hayal etmek zor (hem Module A ve Module B sürümleri aynı ve ana proje versiyonundan türemiş olduğu için bu çalışır) Eğer soruyor - çoklu modül yapısının A ve B modülleri mi? –

+0

modülleri A yapın ve B ebeveyn olarak aynı sürüme sahip ve sonradan birbirlerine? –

cevap

4

release eklentisi update-versions golü ve ana proje sürümüne submodules sürümlerini setleri autoVersionSubmodules seçeneği vardır.

Kullanım örneği here.

Şimdi, alt modüller arasında bağımlılıklarınız varsa (Module B, Module A'a bağlıdır), release eklentisi tarafından güncellenmez.

Bunu çözmek için Module Bpom.xml numaralı telefona bağımlılık tanımlanırken ${project.version} kullanabilirsiniz.

Örneğin (Module B 'ın pom.xml cinsinden):

<dependency> 
     <groupId>test</groupId> 
     <artifactId>module-a</artifactId> 
     <version>${project.version}</version> 
    </dependency> 

+0

Cevabınız için teşekkürler, soruma bazı ayrıntılar ekledim. Ebeveyn sürümünü kullanmıyorum, bu yüzden onu güncellemiyorum ve her zaman "1.0". B A bağlıdır nedeniyle bu derste Modül A ve Modül B, farklı sürümleri var, ama A noktasından B bağlı değildir, bu yüzden A'nın artış sürümü olmadan B'nin sürümünü artırmak – mulya