java-maven pom.xml 文件 jar 包引用順序

java-maven pom.xml 文件 jar 包引用順序

場景:
    當項目 project1 引用了多個 a.jar、b.jar、c.jar 包,
    其中每個 jar 包都間接的引用了 common.jar 包,
    且引用的每個 common.jar 的版本都不一樣,這時 product1 最終會用到那個?

common.jar引用路徑:
    a.jar->common.jar 1.0    
    b.jar->b1.jar->common.jar 2.0
    c.jar->c1.jar->c2.jar->common.jar 3.0

引用原則?
    記住 pom.xml jar 引用的兩個原則,maven 最終會引用到引用路徑最短、配置最早出現的 jar包。
    1.最早出現原則:pom 文件中 dependencies 節點下的 dependency 自上而下出現順序;
    2.引用路徑最短原則:直接或者間接引用到目標 jar 的深度;

怎麼查看最終引用到那個版本jar 包?
    已 springMVC 舉例,所有引用 jar 包在部署路徑的  /WEB-INF/lib 目錄下;

如何排除指定 jar包的間接引用?
project1 的 pom.xml 中排除 a.jar 對於 common.jar 包的引用
<dependency>
    <groupId>com.test.a</groupId>
    <artifactId>a</artifactId>
    <version>15.0.0</version>
    <exclusions>
        <exclusion>
            <groupId>common</groupId>
            <artifactId>com.test</artifactId>
        </exclusion>
    </exclusions>
</dependency>
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章