簡體   English   中英

Maven為特定的Java包添加依賴項

[英]Maven Adding dependency for specific java package

我有同一個jar文件的兩個版本。 (版本1和2)。 我的問題是我希望特定軟件包中的類使用一個版本,而另一個軟件包中的類使用另一個版本。這兩個軟件包都在同一個Maven項目下。

試圖將兩個jar文件都添加為POM中的依賴項,但是第二個條目覆蓋了第一個條目,並且僅添加了一個版本作為依賴項。

在Maven中有沒有辦法實現這一目標?

想想DLL地獄。 可以將同一類的各種版本共存於一個JVM中的唯一方法是使用不同的類加載器來加載每個版本,而您不想這樣做。

重寫您的代碼,以便所有代碼都可以與該庫的最新版本一起使用,或者重寫它,從而無需對庫進行任何更改就可以選擇使用v2。

令牌丑陋的解決方案...

將您的項目分為兩個模塊,其中每個模塊使用不同版本的依賴關系。 為了避免jwenting的出色答案中提到的類加載器問題,請使用Maven Shade插件在其中一個模塊中重命名依賴項包。

有關執行此操作的示例,請參見重定位類

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM