2014-11-21 231 views
0

我有一個取決於另一個maven項目的maven項目。項目樹如下:不同版本的依賴關係

final_project 
    | 
    |----sub_project 
    |  |----jsf 1.2_09 
    |----jsf 2.0.3 

它是如何知道什麼確切​​-library將在哪些項目中使用?我的意思是這樣的項目會產生衝突嗎?

UPD:

<dependency> 
    <groupId>javax.faces</groupId> 
    <artifactId>jsf-impl</artifactId> 
    <version>1.2_09</version> 
    <type>jar</type> 
    <scope>compile</scope> 
</dependency> 

<dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
     <version>2.0.3</version> 
    </dependency> 

這些依賴關係是不可重寫:由於不同的組ID。

+0

您已經遇到了一個經典問題,通常通過更加模塊化的方法來加載庫,例如OSGi或JBoss模塊。你的具體問題唯一的缺點是它可能很難在相同的應用程序中運行兩個JSF版本,從未嘗試過。 – nablex 2014-11-21 12:08:49

+0

「排除」不是一種選擇? http://stackoverflow.com/questions/27057481/exclude-a-maven-dependecie-from-a-derived-pom?rq=1 ... – OhadR 2014-11-21 15:13:56

回答