2016-04-06 26 views
1

aşağıda proje yapısını ana proje pom içindeMaven'de proje bağımlılıkları birden çok proje arasında nasıl paylaşılır?

Main Project 
--Sub Project 1 
    - child 1 
     * pom-child1 
    - child 2 
     * pom-child2 
    * pom-sub-project1 

--Sub Project 2 
     * pom-sub-project2 
* main project pom 

Ben tanımlanmış olan birkaç proje bağımlılıkları ve çocuk ve alt proje saçak bunu anılacaktır. Ama pom, ana proje pomının doğrudan bir çocuğu değilse, sorunları buluyorum. Çözmenin bir yolu var mı?

Örnek, Ana Proje pom

<packaging>pom</packaging> 
<version>dev</version> 
<name>parent-project</name> 
.. 
<properties><spring-version>3.1.0.RELEASE</spring-version></properties> 

çocuk POM

<parent> 
     <groupId>com.test.pkg</groupId> 
     <artifactId>test-proj</artifactId> 
     <version>${project.version}</version> 
    </parent> 

bir ebeveyn pom doğrudan alt değilse $ {project.version} çözülmezse nedeniyle Proje bağımlılıklarının hiçbiri çözülmez.

Ayrıca, özelliklerin özelliklerini harici özellikler dosyasından okumak için kullanılan properties-maven-plugin hakkında okurum. Bu, bağımlılık sürümünü okumak için kullanılabilir mi veya bu durumda kullanılabilecek başka bir eklenti/yaklaşım var mı? Varsayılan olarak çocuk anne versiyonunu devralır çünkü

+0

aynı zamanda alt proje 1 ve 2'nin alt öğesi olarak tanımlanan ana proje pompasıdır? Çocuk projeleri ana olarak tanımlanan alt projelerdir? Ne tür bir sorunla karşılaşıyorsunuz? –

+0

Hangi bağlantı çalışmıyor? Hangi projeler arasında? – Christian

+0

@ A.DiMatteo Ex: Ana projede, birbirinden bağımsız olarak farklı web projelerine (alt proje 1,2 ..) sahibim. Bu web projelerinin her biri, ortak kütüphaneler, ilgili diğer web projeleri olabilecek alt modüllere sahiptir. Her birinin kendi pomları var. Ana projenin pom dosyası, yalnızca alt alt modüllerindeyken doğrudan alt-paket, proje sürümü veya bağımlılıkları yapı sırasında çözülmediğinde erişilebilen proje bağımlılıkları ve sürümüne sahiptir. Sorulacak daha fazla bilgi eklemek – Poppy

cevap

0

Sen

${project.version} 

Ailen sürümünü tanımlamak için kullanamazsınız.

Ebeveyn versiyonunu bir mülk ile değil, geçerli bir değerle ayarlayın.

Böyle yaparsanız, çalışmalı ve üst sürümünden alınacak olan childs sürümünü belirtmeniz gerekmez.

İlgili konular