[英]How to get only required dependency from parent dependency maven pom file
我可以只包含來自父 pom 的必需依賴項(就像我們排除的那樣)嗎?
我需要這個來實現一個場景
問題陳述:當我運行 maven 安裝在項目 C 中時,hibernate 和 Z2A2D595E6ED2ED630B24D627 再次分別下載。 這是我觀察到的,因為最終 jar 大小增加了。
作為解決方法,我將項目 A 作為依賴項包含在項目 C 中,因此我不需要明確提及 hibernate 和 spring。
為避免這種情況,有沒有辦法只包含項目 A 中的 spring 和 hibernate?
聽起來您只是根據大小猜測 C jar 項目中的內容。 解壓縮最終的 jar(重命名為 .zip)並查看內部以查看 jars 實際打包的內容以弄清楚這一點。
Jars,戰爭,耳朵只是帶有清單(或多或少)的 zip 文件。
因此,您的所有依賴項都應在parent pom
中定義,並且您的所有項目都應在此處定義,以防 A、B 和 C 應該是父 pom 的子項目。
在所有子 pom 中,您可以定義所有需要的依賴項而不需要版本,以便從父 pom 解析它們。
僅在需要時才應定義子項目的相互依賴關系。 為了從項目 A 中獲取依賴項,C 不應該依賴於 A。
| - - A
| - - | - - pom.xml
| - - B
| - - | - - pom.xml
| - - C
| - - | - - pom.xml
| - - pom.xml (parent pom)
如果您可以將此結構作為 github 項目,那么我可以創建一個包含更改的拉取請求。
要從您那里獲取 Spring Hibernate,您需要將 Child Parent 關系 A(Parent)和 B,C 作為 Child。
Jar 文件增量不能是這種情況。 POM.xml 確實提供了在.m2 repo 中下載的依賴項的參考。
為了進一步調查,我們需要 POM.xml
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.