2014-07-18 81 views
-1

我需要Library L版本A和版本B的同一時間。java maven需要不同版本的庫

< -Dependencies->

<-Dependency-> 

     Library L of version A 
    <-/Dependency-> 
    <-Dependency-> 
     Third party library (needs Library L of version B) 
    <-/Dependency-> 

< -/Dependencies->

如果我寫像上述情況,第三方庫也招verions A的圖書館L,不是版本B.然後它會拋出一些錯誤,我應該如何聲稱pom使它工作?

順便說一句,必須使用有線< - - >標記,否則格式會混亂。

請幫仍然在尋找一個答案

感謝

+1

你不能在一個類加載器中做到這一點。你可以在_separate_ classloaders中加載2個不同版本的相同庫,但是你必須做很多棘手的事情才能使它工作。我會試圖弄清楚如何使這個庫的_one_版本工作。 – jtahlborn

+0

沒有任何解決方案? – user1470393

+0

如果您嘗試在單個類加載器中包含_both_版本,不,沒有解決方案。如果你想讓Maven解決一個單一的特定版本,那麼這是相當微不足道的。 – jtahlborn

回答

0

你不能有相同的神器的兩大版本默認情況下,

假設即使你砍死它,使其工作,在運行時的第一個這是在類路徑順序將得到優先,所以它是真的很糟糕的idae做

+0

確實不是一個好主意。但是當我需要它時,我應該如何配置? – user1470393

+0

你如何運行你的應用程序? –

+0

建立一個戰爭,並部署一個戰爭到tomcat – user1470393