原文链接
业务场景
我们需要做一个电商项目,一般都会做成微服务的形式,按业务进行划分,本次我们主要以账户业务和订单业务为例,我们将这两块业务分别作为2个大的模块来开发,而订单模块又会调用账户模块中的接口,所以对账户模块接口部分会有依赖。
我们以maven来搭建项目,项目的目录结构如下:
b2b
b2b-account
b2b-account-api
b2b-account-service
b2b-order
b2b-order-api
b2b-order-service
b2b-account
账户模块,其中包含2个小模块:b2b-account-api和b2b-account-service
b2b-account-api
账户模块对外暴露的接口部分,以供外部调用
b2b-account-service
账户模块具体业务实现,依赖于b2b-account-api
模块
b2b-order
订单模块,也是包含2个小模块:b2b-order-api和b2b-order-service
b2b-order-api
订单模块对外暴露的接口部分,以供外部调用
b2b-order-service
订单模块具体业务实现,依赖2个模块b2b-order-api、b2b-account-api
搭建项目结构
我们按照上面的需求,使用maven搭建项目结构,具体过程如下。
创建b2b项目
注意我们这里说的是创建项目
。图文操作可参考:>创建聚合项目<
-
打开idea,点击
File->New->Project->Maven->选择Project SDK->Next
-
填写项目坐标:
GroupId
:com.theboyaplyArtifactld
:b2bVersion
:1.0-SNAPSHOT
-
点击
Next
-
填写项目名称和路径:
Project Name
:b2bProject location
:D:\myResource\maven\b2b
-
点击
Finish
项目如图:
该项目作为聚合父工程,用不到src
等文件夹,可以删除掉,(当然也可以不删除),这里我选择删除。
在b2b项目下创建b2b-account模块
注意我们这里说的是创建模块
。图文操作可参考:>创建聚合项目<
- 选中
b2b
项目目录,点击File->New->Module
或者直接右键->New->Module
- 选择
Maven->选择Project SDK->Next
- 将
Add as module to
设置为b2b
(idea应该自动选择了这个) - 将
Parent
设置为none
- 并输入模块坐标:
GroupId
:com.theboyaply(idea应该自动带出了这个值)Artifactld
:b2b-accountVersion
:1.0-SNAPSHOT(idea应该自动带出了这个值)
- 点击
Next
- 填写模块名称和路径
Module name
:b2b-accountContent root
:D:\myResource\maven\b2b\b2b-account(注意看目录层级)Module file location
:D:\myResource\maven\b2b\b2b-account(注意看目录层级)
- 点击
Finish
- 删除
src
目录
此时项目结构如图:
在b2b-account模块下创建b2b-account-api模块
注意这里创建的还是模块
,只有b2b
是项目。
- 选中
b2b-account
项目目录,点击File->New->Module
或者直接右键->New->Module
- 选择
Maven->选择Project SDK->Next
- 将
Add as module to
设置为b2b-account
(idea应该自动选择了这个) - 将
Parent
设置为none
- 并输入模块坐标:
GroupId
:com.theboyaply(idea应该自动带出了这个值)Artifactld
:b2b-account-apiVersion
:1.0-SNAPSHOT(idea应该自动带出了这个值)
- 点击
Next
- 填写模块名称和路径
Module name
:b2b-account-apiContent root
:D:\myResource\maven\b2b\b2b-account\b2b-account-api(注意看目录层级)Module file location
:D:\myResource\maven\b2b\b2b-account\b2b-account-api(注意看目录层级)
- 点击
Finish
此时项目结构如图:
在b2b-account模块下创建b2b-account-service模块
这个过程参考在b2b-account模块下面创建b2b-account-api模块
。
在b2b下创建b2b-order模块
这个过程参考在b2b下创建b2b-account模块
。
在b2b-order模块下面创建b2b-order-api模块
这个过程参考在b2b-account模块下面创建b2b-account-api模块
。
在b2b-order模块下面创建b2b-order-service模块
这个过程参考在b2b-account模块下面创建b2b-account-api模块
。
完整项目结构如下图:
引入模块依赖
b2b-account-service
依赖于b2b-account-api
模块,所以在b2b-account-service/pom.xml
中加入下面配置:
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>b2b-account-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
由于项目的
groupId,version
都是一样的,所以直接通过${}
这种方式引用了。
b2b-order-service
依赖2个模块b2b-order-api、b2b-account-api
,所以在b2b-order-service/pom.xml
中加入下面配置:
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>b2b-account-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>b2b-order-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
此时每个模块依赖如下:
b2b/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.theboyaply</groupId>
<artifactId>b2b</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>b2b-account</module>
<module>b2b-order</module>
</modules>
</project>
b2b-account/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.theboyaply</groupId>
<artifactId>b2b-account</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>b2b-account-api</module>
<module>b2b-account-service</module>
</modules>
</project>
b2b-account-api/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.theboyaply</groupId>
<artifactId>b2b-account-api</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
b2b-account-service/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.theboyaply</groupId>
<artifactId>b2b-account-service</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>b2b-account-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>
b2b-order/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.theboyaply</groupId>
<artifactId>b2b-order</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>b2b-order-api</module>
<module>b2b-order-service</module>
</modules>
</project>
b2b-order-api/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.theboyaply</groupId>
<artifactId>b2b-order-api</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
b2b-order-service/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.theboyaply</groupId>
<artifactId>b2b-order-service</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>b2b-account-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>b2b-order-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>
注意:上面项目的结构属于父子结构,使用maven中聚合的方式进行管理的,对应聚合不是太了解的,可以看上篇文章有详细介绍。
b2b中包含了2个子模块
b2b_account
和b2b_order
,这3个package都是pom。b2b_account中包含了2个子模块,2个子模块package是默认的jar类型。
b2b_order中包含了2个子模块,2个子模块package是默认的jar类型。
反应堆
上面项目都开发好了,我们需要安装到本地仓库,一般情况下,我们会这么做,在b2b/pom.xml
所在目录执行下面命令:
mvn clean install
我们来感受一下这个命令的效果:
D:\myResource\maven\b2b>mvn clean install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] b2b-account-api [jar]
[INFO] b2b-account-service [jar]
[INFO] b2b-account [pom]
[INFO] b2b-order-api [jar]
[INFO] b2b-order-service [jar]
[INFO] b2b-order [pom]
[INFO] b2b [pom]
[INFO]
[INFO] -------------------< com.theboyaply:b2b-account-api >-------------------
[INFO] Building b2b-account-api 1.0-SNAPSHOT [1/7]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b-account-api ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ b2b-account-api ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ b2b-account-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ b2b-account-api ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\myResource\maven\b2b\b2b-account\b2b-account-api\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ b2b-account-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ b2b-account-api ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ b2b-account-api ---
[INFO] Building jar: D:\myResource\maven\b2b\b2b-account\b2b-account-api\target\b2b-account-api-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-account-api ---
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-api\target\b2b-account-api-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-account-api\1.0-SNAPSHOT\b2b-account-api-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-api\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-account-api\1.0-SNAPSHOT\b2b-account-api-1.0-SNAPSHOT.pom
[INFO]
[INFO] -----------------< com.theboyaply:b2b-account-service >-----------------
[INFO] Building b2b-account-service 1.0-SNAPSHOT [2/7]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b-account-service ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ b2b-account-service ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ b2b-account-service ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ b2b-account-service ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\myResource\maven\b2b\b2b-account\b2b-account-service\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ b2b-account-service ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ b2b-account-service ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ b2b-account-service ---
[INFO] Building jar: D:\myResource\maven\b2b\b2b-account\b2b-account-service\target\b2b-account-service-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-account-service ---
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-service\target\b2b-account-service-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-account-service\1.0-SNAPSHOT\b2b-account-service-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-service\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-account-service\1.0-SNAPSHOT\b2b-account-service-1.0-SNAPSHOT.pom
[INFO]
[INFO] ---------------------< com.theboyaply:b2b-account >---------------------
[INFO] Building b2b-account 1.0-SNAPSHOT [3/7]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b-account ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-account ---
[INFO] Installing D:\myResource\maven\b2b\b2b-account\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-account\1.0-SNAPSHOT\b2b-account-1.0-SNAPSHOT.pom
[INFO]
[INFO] --------------------< com.theboyaply:b2b-order-api >--------------------
[INFO] Building b2b-order-api 1.0-SNAPSHOT [4/7]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b-order-api ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ b2b-order-api ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ b2b-order-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ b2b-order-api ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\myResource\maven\b2b\b2b-order\b2b-order-api\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ b2b-order-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ b2b-order-api ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ b2b-order-api ---
[INFO] Building jar: D:\myResource\maven\b2b\b2b-order\b2b-order-api\target\b2b-order-api-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-order-api ---
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-api\target\b2b-order-api-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-order-api\1.0-SNAPSHOT\b2b-order-api-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-api\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-order-api\1.0-SNAPSHOT\b2b-order-api-1.0-SNAPSHOT.pom
[INFO]
[INFO] ------------------< com.theboyaply:b2b-order-service >------------------
[INFO] Building b2b-order-service 1.0-SNAPSHOT [5/7]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b-order-service ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ b2b-order-service ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ b2b-order-service ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ b2b-order-service ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\myResource\maven\b2b\b2b-order\b2b-order-service\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ b2b-order-service ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ b2b-order-service ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ b2b-order-service ---
[INFO] Building jar: D:\myResource\maven\b2b\b2b-order\b2b-order-service\target\b2b-order-service-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-order-service ---
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-service\target\b2b-order-service-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-order-service\1.0-SNAPSHOT\b2b-order-service-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-service\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-order-service\1.0-SNAPSHOT\b2b-order-service-1.0-SNAPSHOT.pom
[INFO]
[INFO] ----------------------< com.theboyaply:b2b-order >----------------------
[INFO] Building b2b-order 1.0-SNAPSHOT [6/7]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b-order ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-order ---
[INFO] Installing D:\myResource\maven\b2b\b2b-order\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-order\1.0-SNAPSHOT\b2b-order-1.0-SNAPSHOT.pom
[INFO]
[INFO] -------------------------< com.theboyaply:b2b >-------------------------
[INFO] Building b2b 1.0-SNAPSHOT [7/7]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b ---
[INFO] Installing D:\myResource\maven\b2b\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b\1.0-SNAPSHOT\b2b-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] b2b-account-api .................................... SUCCESS [ 4.993 s]
[INFO] b2b-account-service ................................ SUCCESS [ 1.488 s]
[INFO] b2b-account ........................................ SUCCESS [ 0.042 s]
[INFO] b2b-order-api ...................................... SUCCESS [ 0.147 s]
[INFO] b2b-order-service .................................. SUCCESS [ 0.167 s]
[INFO] b2b-order .......................................... SUCCESS [ 0.043 s]
[INFO] b2b 1.0-SNAPSHOT ................................... SUCCESS [ 0.037 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.280 s
[INFO] Finished at: 2020-08-13T10:52:16+08:00
[INFO] ------------------------------------------------------------------------
注意上面有这样的输出:
[INFO] Reactor Build Order:
[INFO]
[INFO] b2b-account-api [jar]
[INFO] b2b-account-service [jar]
[INFO] b2b-account [pom]
[INFO] b2b-order-api [jar]
[INFO] b2b-order-service [jar]
[INFO] b2b-order [pom]
[INFO] b2b [pom]
maven会根据模块之间的依赖关系,然后会得到所有模块的构建顺序,上面共有7个pom.xml文件,也就是7个maven构件,按照上面列出的顺序依次进行构建。
可以看到b2b-account-api
是被其他一些模块依赖的,所以这个放在了第一个。
mvn
命令对多模块构件时,会根据模块的依赖关系而得到模块的构建顺序,这个功能就是maven的反应堆(reactor)做的事情,反应堆会根据模块之间的依赖关系、聚合关系、继承关系等等,从而计算得出一个合理的模块构建顺序,所以反应堆的功能是相当强大的。
按需构建
有这样的一种场景:b2b-account-api
被b2b-account-service
和b2b-order-service
依赖了,所以当b2b-account-api
有修改的时候,我们希望他们3个都能够被重新构建一次,而不是去对所有的模块都进行重新构建,我们只希望被影响的模块都能够参与重新构建,大家有什么好的办法?
上面列出的只是2个模块的功能,真正的电商项目还有很多模块,如果每次修改一个模块,我们都去重新打包所有的模块,这个构建过程耗时是非常久的,只能干等着,我们需要的是按需构建,需要构建哪些模块让我们自己能够随意指定,这样也可以加快构建的速度,所以我们需要这样的功能
maven反应堆帮我们考虑到了这种情况,mvn命令提供了一些功能可以帮我们实现这些操作,我们看一下mvn的帮助文档,mvn -h
可以查看帮助,如下:
D:\myResource\maven\b2b>mvn -h
usage: mvn [options] [<goal(s)>] [<phase(s)>]
Options:
-am,--also-make If project list is specified, also
build projects required by the
list
-amd,--also-make-dependents If project list is specified, also
build projects that depend on
projects on the list
-B,--batch-mode Run in non-interactive (batch)
mode (disables output color)
-b,--builder <arg> The id of the build strategy to
use
-C,--strict-checksums Fail the build if checksums don't
match
-c,--lax-checksums Warn if checksums don't match
-cpu,--check-plugin-updates Ineffective, only kept for
backward compatibility
-D,--define <arg> Define a system property
-e,--errors Produce execution error messages
-emp,--encrypt-master-password <arg> Encrypt master security password
-ep,--encrypt-password <arg> Encrypt server password
-f,--file <arg> Force the use of an alternate POM
file (or directory with pom.xml)
-fae,--fail-at-end Only fail the build afterwards;
allow all non-impacted builds to
continue
-ff,--fail-fast Stop at first failure in
reactorized builds
-fn,--fail-never NEVER fail the build, regardless
of project result
-gs,--global-settings <arg> Alternate path for the global
settings file
-gt,--global-toolchains <arg> Alternate path for the global
toolchains file
-h,--help Display help information
-l,--log-file <arg> Log file where all build output
will go (disables output color)
-llr,--legacy-local-repository Use Maven 2 Legacy Local
Repository behaviour, ie no use of
_remote.repositories. Can also be
activated by using
-Dmaven.legacyLocalRepo=true
-N,--non-recursive Do not recurse into sub-projects
-npr,--no-plugin-registry Ineffective, only kept for
backward compatibility
-npu,--no-plugin-updates Ineffective, only kept for
backward compatibility
-nsu,--no-snapshot-updates Suppress SNAPSHOT updates
-o,--offline Work offline
-P,--activate-profiles <arg> Comma-delimited list of profiles
to activate
-pl,--projects <arg> Comma-delimited list of specified
reactor projects to build instead
of all projects. A project can be
specified by [groupId]:artifactId
or by its relative path
-q,--quiet Quiet output - only show errors
-rf,--resume-from <arg> Resume reactor from specified
project
-s,--settings <arg> Alternate path for the user
settings file
-t,--toolchains <arg> Alternate path for the user
toolchains file
-T,--threads <arg> Thread count, for instance 2.0C
where C is core multiplied
-U,--update-snapshots Forces a check for missing
releases and updated snapshots on
remote repositories
-up,--update-plugins Ineffective, only kept for
backward compatibility
-v,--version Display version information
-V,--show-version Display version information
WITHOUT stopping build
-X,--debug Produce execution debug output
上面列出了mvn
命令后面的一些选项,有几个选项本次我们需要用到,如下:
-pl,--projects <arg>
构件指定的模块,arg
表示多个模块,之间用逗号分开,模块有两种写法
-pl 模块1相对路径 [,模块2相对路径] [,模块n相对路径]
-pl [模块1的groupId]:模块1的artifactId [,[模块2的groupId]:模块2的artifactId] [,[模块n的groupId]:模块n的artifactId]
举例:
下面命令都是在b2b/pom.xml来运行
mvn clean install -pl b2b-account
mvn clean install -pl b2b-account/b2b-account-api
mvn clean install -pl b2b-account/b2b-account-api,b2b-account/b2b-account-service
mvn clean install -pl :b2b-account-api,b2b-order/b2b-order-api
mvn clean install -pl :b2b-account-api,:b2b-order-service
-rf,--resume-from <arg>
从指定的模块恢复反应堆
-am,--also-make
同时构建所列模块的依赖模块
-amd,--also-make-dependents
同时构件依赖于所列模块的模块
案例
下面我们通过6个案例细说上面这些用法。
注意:下面所有案例都在b2b/pom.xml
所在目录执行。
案例1
只构建b2b-account
模块,运行命令
mvn clean install -pl b2b-account
效果如下:
D:\myResource\maven\b2b>mvn clean install -pl b2b-account
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< com.theboyaply:b2b-account >---------------------
[INFO] Building b2b-account 1.0-SNAPSHOT
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b-account ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-account ---
[INFO] Installing D:\myResource\maven\b2b\b2b-account\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-account\1.0-SNAPSHOT\b2b-account-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.655 s
[INFO] Finished at: 2020-08-13T12:34:14+08:00
[INFO] ------------------------------------------------------------------------
案例2
只构建b2b-account-api
模块,运行命令:
mvn clean install -pl b2b-account/b2b-account-api
效果如下:
D:\myResource\maven\b2b>mvn clean install -pl b2b-account/b2b-account-api
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.theboyaply:b2b-account-api >-------------------
[INFO] Building b2b-account-api 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b-account-api ---
[INFO] Deleting D:\myResource\maven\b2b\b2b-account\b2b-account-api\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ b2b-account-api ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ b2b-account-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ b2b-account-api ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\myResource\maven\b2b\b2b-account\b2b-account-api\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ b2b-account-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ b2b-account-api ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ b2b-account-api ---
[INFO] Building jar: D:\myResource\maven\b2b\b2b-account\b2b-account-api\target\b2b-account-api-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-account-api ---
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-api\target\b2b-account-api-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-account-api\1.0-SNAPSHOT\b2b-account-api-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-api\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-account-api\1.0-SNAPSHOT\b2b-account-api-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.619 s
[INFO] Finished at: 2020-08-13T12:36:38+08:00
[INFO] ------------------------------------------------------------------------
上面使用的是相对路径的写法,还有2种写法,大家可以去试试,如下:
mvn clean install -pl :b2b-account-api
mvn clean install -pl com.theboyaply:b2b-account-api
案例3
构建b2b-account-api
和b2b-order-api
,运行下面命令:
mvn clean install -pl b2b-account/b2b-account-api,b2b-order/b2b-order-api
效果如下:
D:\myResource\maven\b2b>mvn clean install -pl b2b-account/b2b-account-api,b2b-order/b2b-order-api
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] b2b-account-api [jar]
[INFO] b2b-order-api [jar]
[INFO]
[INFO] -------------------< com.theboyaply:b2b-account-api >-------------------
[INFO] Building b2b-account-api 1.0-SNAPSHOT [1/2]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b-account-api ---
[INFO] Deleting D:\myResource\maven\b2b\b2b-account\b2b-account-api\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ b2b-account-api ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ b2b-account-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ b2b-account-api ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\myResource\maven\b2b\b2b-account\b2b-account-api\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ b2b-account-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ b2b-account-api ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ b2b-account-api ---
[INFO] Building jar: D:\myResource\maven\b2b\b2b-account\b2b-account-api\target\b2b-account-api-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-account-api ---
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-api\target\b2b-account-api-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-account-api\1.0-SNAPSHOT\b2b-account-api-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-api\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-account-api\1.0-SNAPSHOT\b2b-account-api-1.0-SNAPSHOT.pom
[INFO]
[INFO] --------------------< com.theboyaply:b2b-order-api >--------------------
[INFO] Building b2b-order-api 1.0-SNAPSHOT [2/2]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ b2b-order-api ---
[INFO] Deleting D:\myResource\maven\b2b\b2b-order\b2b-order-api\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ b2b-order-api ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ b2b-order-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ b2b-order-api ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\myResource\maven\b2b\b2b-order\b2b-order-api\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ b2b-order-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ b2b-order-api ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ b2b-order-api ---
[INFO] Building jar: D:\myResource\maven\b2b\b2b-order\b2b-order-api\target\b2b-order-api-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-order-api ---
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-api\target\b2b-order-api-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-order-api\1.0-SNAPSHOT\b2b-order-api-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-api\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-order-api\1.0-SNAPSHOT\b2b-order-api-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] b2b-account-api 1.0-SNAPSHOT ....................... SUCCESS [ 1.766 s]
[INFO] b2b-order-api 1.0-SNAPSHOT ......................... SUCCESS [ 0.195 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.135 s
[INFO] Finished at: 2020-08-13T12:39:12+08:00
[INFO] ------------------------------------------------------------------------
案例4
我们只修改了b2b-account-api
代码,所以我希望对这个重新打包,并且对这个有依赖的也重新打包,所以需要打包下面3个模块:
b2b-account-api
b2b-account-service
b2b-order-service
上面列表中的后面两个是依赖于b2b-account-api
的,可以在b2b/pom.xml
中执行下面命令:
mvn clean install -pl b2b-account/b2b-account-api -amd
效果如下:
D:\myResource\maven\b2b>mvn clean install -pl b2b-account/b2b-account-api -amd
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] b2b-account-api [jar]
[INFO] b2b-account-service [jar]
[INFO] b2b-order-service [jar]
[INFO]
[INFO] -------------------< com.theboyaply:b2b-account-api >-------------------
[INFO] Building b2b-account-api 1.0-SNAPSHOT [1/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
......
......
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-account-api ---
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-api\target\b2b-account-api-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-account-api\1.0-SNAPSHOT\b2b-account-api-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-api\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-account-api\1.0-SNAPSHOT\b2b-account-api-1.0-SNAPSHOT.pom
[INFO]
[INFO] -----------------< com.theboyaply:b2b-account-service >-----------------
[INFO] Building b2b-account-service 1.0-SNAPSHOT [2/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
....
....
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-account-service ---
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-service\target\b2b-account-service-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-account-service\1.0-SNAPSHOT\b2b-account-service-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-service\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-account-service\1.0-SNAPSHOT\b2b-account-service-1.0-SNAPSHOT.pom
[INFO]
[INFO] ------------------< com.theboyaply:b2b-order-service >------------------
[INFO] Building b2b-order-service 1.0-SNAPSHOT [3/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
......
......
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-order-service ---
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-service\target\b2b-order-service-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-order-service\1.0-SNAPSHOT\b2b-order-service-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-service\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-order-service\1.0-SNAPSHOT\b2b-order-service-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] b2b-account-api 1.0-SNAPSHOT ....................... SUCCESS [ 1.501 s]
[INFO] b2b-account-service ................................ SUCCESS [ 0.183 s]
[INFO] b2b-order-service 1.0-SNAPSHOT ..................... SUCCESS [ 0.192 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.066 s
[INFO] Finished at: 2020-08-13T12:41:49+08:00
[INFO] ------------------------------------------------------------------------
上面过程给大家捋一捋:
上面命令先会运行-pl b2b-account-api
得到一个反应堆列表,如下,只有一个模块:
b2b-account-api
然后后面又会执行amd
,这个命令会找到对-pl b2b-account-api
有依赖的构件,也就是:
b2b-account-service
b2b-order-serivce
然后反应堆会对3个构件进行排序,得到一个正确的构件顺序,如下:
[INFO] Reactor Build Order:
[INFO]
[INFO] b2b-account-api [jar]
[INFO] b2b-account-service [jar]
[INFO] b2b-order-service [jar]
然后maven会依次对他们执行:
mvn clean install
案例5
需求:我们来构建b2b-order-service
,希望b2b-order-service
依赖的构件也能被同时构建,b2b-account-service
依赖于b2b-account-api
和b2b-order-api
,甚至更多。
可以使用下面命令:
mvn clean install -pl b2b-order/b2b-order-service -am
注意
-am
和-amd
的区别。-amd
是往下查找依赖,-am
是往上查找依赖
效果如下:
D:\myResource\maven\b2b>mvn clean install -pl b2b-order/b2b-order-service -am
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] b2b-account-api [jar]
[INFO] b2b-order-api [jar]
[INFO] b2b-order-service [jar]
[INFO]
[INFO] -------------------< com.theboyaply:b2b-account-api >-------------------
[INFO] Building b2b-account-api 1.0-SNAPSHOT [1/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
......
......
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-account-api ---
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-api\target\b2b-account-api-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-account-api\1.0-SNAPSHOT\b2b-account-api-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-account\b2b-account-api\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-account-api\1.0-SNAPSHOT\b2b-account-api-1.0-SNAPSHOT.pom
[INFO]
[INFO] --------------------< com.theboyaply:b2b-order-api >--------------------
[INFO] Building b2b-order-api 1.0-SNAPSHOT [2/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
......
......
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-order-api ---
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-api\target\b2b-order-api-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-order-api\1.0-SNAPSHOT\b2b-order-api-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-api\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-order-api\1.0-SNAPSHOT\b2b-order-api-1.0-SNAPSHOT.pom
[INFO]
[INFO] ------------------< com.theboyaply:b2b-order-service >------------------
[INFO] Building b2b-order-service 1.0-SNAPSHOT [3/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
......
......
[INFO] --- maven-install-plugin:2.4:install (default-install) @ b2b-order-service ---
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-service\target\b2b-order-service-1.0-SNAPSHOT.jar to D:\apache\.m2\repository\com\theboyaply\b2b-order-service\1.0-SNAPSHOT\b2b-order-service-1.0-SNAPSHOT.jar
[INFO] Installing D:\myResource\maven\b2b\b2b-order\b2b-order-service\pom.xml to D:\apache\.m2\repository\com\theboyaply\b2b-order-service\1.0-SNAPSHOT\b2b-order-service-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] b2b-account-api 1.0-SNAPSHOT ....................... SUCCESS [ 1.536 s]
[INFO] b2b-order-api ...................................... SUCCESS [ 0.284 s]
[INFO] b2b-order-service 1.0-SNAPSHOT ..................... SUCCESS [ 0.188 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.209 s
[INFO] Finished at: 2020-08-13T12:46:53+08:00
[INFO] ------------------------------------------------------------------------
上面过程给大家捋一捋:
上面命令先会运行-pl b2b-order-service
得到一个反应堆列表:
b2b-order-service
然后后面又会执行am
,这个命令会找到-pl b2b-order-service
依赖的构件,也就是:
b2b-account-api
b2b-order-api
然后反应堆会对3个构件进行排序,得到一个正确的构件顺序,如下:
[INFO] Reactor Build Order:
[INFO]
[INFO] b2b-account-api [jar]
[INFO] b2b-order-api [jar]
[INFO] b2b-order-service [jar]
然后maven会依次对他们执行:
mvn clean install
案例6
分别执行下面2条mvn命令,先看一下效果:
mvn clean install
mvn clean install -rf b2b-order/b2b-order-service
输出中我们取出部分内容,如下。
第1条命令,反应堆产生的构建顺序是:
[INFO] Reactor Build Order:
[INFO]
[INFO] b2b-account-api [jar]
[INFO] b2b-account-service [jar]
[INFO] b2b-account [pom]
[INFO] b2b-order-api [jar]
[INFO] b2b-order-service [jar]
[INFO] b2b-order [pom]
[INFO] b2b [pom]
第2条命令,反应堆产生的构建顺序是:
[INFO] Reactor Build Order:
[INFO]
[INFO] b2b-order-service [jar]
[INFO] b2b-order [pom]
[INFO] b2b [pom]
在仔细看一下上面2条命令的差别,后面的命令多了-rf b2b-order/b2b-order-service
,具体过程如下:
会先执行下面命令
mvn clean install
反应堆会计算出需要构件的模块顺序,如下:
[INFO] Reactor Build Order:
[INFO]
[INFO] b2b-account-api [jar]
[INFO] b2b-account-service [jar]
[INFO] b2b-account [pom]
[INFO] b2b-order-api [jar]
[INFO] b2b-order-service [jar]
[INFO] b2b-order [pom]
[INFO] b2b [pom]
-rf b2b-order/b2b-order-service
对上面的反应堆构件顺序进行裁剪,将b2b-order/b2b-order-service
前面的部分干掉,从b2b-order/b2b-order-service
开始执行构建操作,所以剩下了3个需要构建的模块。
-- end --