maven的jar之間存在依賴關系的,我們在引入一個時,其他有依賴關系的也會被引入
依賴排除:
比如現在有兩個依賴關系,A(x,java,y.java,z.java) B(a,java,b,java,c.java),但是他們之前的依賴實質是 z.java--c.java,那么就不需要a和b,進行如下配置進行排除:
<exclusions> <exclusion> <artifactId></artifactId> <groupId></groupId> </exclusion> </exclusions>
如圖,在依賴包的<dependcy>標簽之中,通過gav定位需要排除的beans即可
依賴的傳遞性:
A.jar--B.jar--C.jar:
三者依賴關系如上,如果想要讓A也依賴於C,那么B.jar---C.jar的依賴范圍必須是compile
兩個項目之間的依賴,
現在有兩個項目,HelloWorld和HelloWorld2,這是他們的目錄結構
helloworld的坐標
<modelVersion>4.0.0</modelVersion> <groupId>org.apache.maven</groupId> <artifactId>HelloWorld</artifactId> <version>1.0-SNAPSHOT</version>
如果想在hellowold2之中使用 Helloworld之中類,需要以下幾個步驟:
1.helloworld項目之中,執行mvn install ,將當前項目打包成jar包,並放進本地倉庫當中
2.helloworld2項目之中的的pom.xml之中,加入依賴:helloworld的坐標
<dependency> <groupId>org.apache.maven</groupId> <artifactId>HelloWorld</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
,之后更新項目,就可以成功的引入我們自定義的項目jar包啦。如圖,可以引入helloworld項目的HelloWorld方法
maven繼承實現:
現在有兩個項目 A-B,
繼承就是說B項目之中依賴了的包,A項目也可以使用。一般用於統一管理版本號等
具體實現如下:
1.創建父工程parent,打包方式為pom,並在其中依賴junit.jar,注意要寫在<dependencyManagement>標簽之中。如下
接下來在子工程Helloworld的pom.xml當中添加父工程標簽,這里的<relativePath>是父工程的pom.xml文件的位置,其他是父工程的gav
<parent>
<groupId>org.apache.maven</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>
接下來在子類當中,聲明一下需要使用父類當中的哪些jar包:聲明寫在pom.xml的<dependenices>標簽之中,如下:
可以看到有一個向上繼承的符號,說明繼承已經成功了。更新之后發現junit已經導入,