根frame-parent的创建一样,分别创建两个工程。主要管理公司内部的二方包和外部的三方包。
1.frame-bom
GAV定义为:
<groupId>com.test</groupId>
<artifactId>frame-bom</artifactId>
<name>frame-bom</name>
<packaging>pom</packaging>
<version>1.0.0-SNAPSHOT</version>
依赖管理:
主要是内部二方包所有的依赖管理
如,对所有组件的版本定义为:
<frame-job-starter.version>1.0.0-SNAPSHOT</frame-job-starter.version>
<frame-cache-starter.version>1.0.0-SNAPSHOT</frame-cache-starter.version>
<frame-lock-starter.version>1.0.0-SNAPSHOT</frame-lock-starter.version>
<frame-feign-starter.version>1.0.0-SNAPSHOT</frame-feign-starter.version>
<frame-orm-starter.version>1.0.0-SNAPSHOT</frame-orm-starter.version>
相应的,对定义的二方包加入对应的依赖管理
<dependencyManagement>
<dependencies>
<!-- starter 组件 -->
<dependency>
<groupId>com.test</groupId>
<artifactId>frame-orm-starter</artifactId>
<version>${frame-orm-starter.version}</version>
</dependency>
<dependency>
<groupId>com.test</groupId>
<artifactId>frame-job-starter</artifactId>
<version>${frame-job-starter.version}</version>
</dependency>
<dependency>
<groupId>com.test</groupId>
<artifactId>frame-cache-starter</artifactId>
<version>${frame-cache-starter.version}</version>
</dependency>
<dependency>
<groupId>com.test</groupId>
<artifactId>frame-lock-starter</artifactId>
<version>${frame-lock-starter.version}</version>
</dependency>
<dependency>
<groupId>com.test</groupId>
<artifactId>frame-serviceregist-starter</artifactId>
<version>${frame-serviceregist-starter.version}</version>
</dependency>
<dependency>
<groupId>com.test</groupId>
<artifactId>frame-feign-starter</artifactId>
<version>${frame-feign-starter.version}</version>
</dependency>
<dependency>
<groupId>com.test</groupId>
<artifactId>frame-request-starter</artifactId>
<version>${frame-request-starter.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
2.frame-out-bom
GAV定义为:
<groupId>com.test</groupId>
<artifactId>frame-out-bom</artifactId>
<name>frame-out-bom</name>
<packaging>pom</packaging>
<version>1.0.0-SNAPSHOT</version>
依赖管理:
主要是对外部所有三方包的依赖管理
比如常见的fastJson、hutool、apache common等。
版本定义示例:
<commons-codec.version>1.15</commons-codec.version>
<commons-dbcp2.version>2.9.0</commons-dbcp2.version>
<commons-lang3.version>3.12.0</commons-lang3.version>
<commons-pool.version>1.6</commons-pool.version>
<commons-pool2.version>2.11.1</commons-pool2.version>
依赖管理示例:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>${commons-dbcp2.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>${commons-pool.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>${commons-pool2.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
后续,所有的二方包维护和三方包维护,都在对应的bom中维护即可。
而两个BOM又会在frame-parent中集成。