自己的幾個項目之間往往需要互相引用,如果同為maven項目,那應該如何引用呢?
如A項目需要引用B項目生成的jar包,則只需對B項目執行maven install操作
執行該操作后就會在你的本地repo中對應目錄下生成該jar包
此時A即可在自己的pom.xml文件中添加該依賴項如:
<dependency>
<groupId>xx.xx.xx</groupId>
<artifactId>A</artifactId>
<version>0.0.1</version>
</dependency>
而自己的項目大多情況在相同的包路徑下,所以此時也可以使用maven內置變量,maven常用內置變量如下:
- ${basedir} 項目根目錄
- ${project.build.directory} 構建目錄,缺省為target
- ${project.build.outputDirectory} 構建過程輸出目錄,缺省為target/classes
- ${project.build.finalName} 產出物名稱,缺省為${project.artifactId}-${project.version}
- ${project.packaging} 打包類型,缺省為jar
- ${project.xxx} 當前pom文件的任意節點的內容
此時上面的依賴項也可修改為:
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>A</artifactId>
<version>${project.version}</version>
</dependency>
當依賴存在沖突時可以使用exclusion,在dependency中添加子項
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>