企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] # 继承 多次使用到的依赖,比如:单元测试,没有必要在所有的项目中都引用一下,此时就可以采用继承的方式来实现,先来一个父级的POM.XML,然后再继承此POM.XML。 1. packaging 改为pom。 2. dependencyManagement 中并不提取依赖。 3. 父类parent中的main和test没有意义,可以删除。 父类pom: ``` <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>3.8.1</junit.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> </dependency> </dependencies> </dependencyManagement> ``` > 可以在pom.xml文件中定义Properties属性,自定义标签。 然后在相应位置引用的形式是${标签名}即可。 子类pom: ``` <parent> <groupId>com.xxx</groupId> <artifactId>xxx-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies> ``` # 聚合 对于多个项目一起编译,这种方式叫做聚合。 还以前面的ABC三个项目作为例子说明; 三者设定了传递依赖关系,并且经过配置,但是此时不想一个一个的由高到低的编译/打包/安装,此时可以在A的pom.xml文件的根目录中加入如下元素标签,只需要对A进行打包安装即可实现对B和C的打包和安装,这种一同编译安装的方式,就叫做聚合。 ``` <modules> <module>../C</module> <module>../B</module> <module>../A</module> </modules> ```