说明
同一个项目有A、B、C,3个模块,客户只购买了项目的A、B,2个模块,我方不希望把所有模块全部打包到一起给客户
方案
使用Maven打包时,利用其profile配置区分环境,按需引入A、B、C
代码
pom.xml
<profiles>
<!-- A -->
<profile>
<id>a</id>
<activation>
<!--默认激活配置-->
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>org.jjcheframework.boot</groupId>
<artifactId>jjche-boot-a</artifactId>
</dependency>
</dependencies>
</profile>
<!-- B -->
<profile>
<id>b</id>
<dependencies>
<dependency>
<groupId>org.jjcheframework.boot</groupId>
<artifactId>jjche-boot-b</artifactId>
</dependency>
</dependencies>
</profile>
<!-- C -->
<profile>
<id>c</id>
<dependencies>
<dependency>
<groupId>org.jjcheframework.boot</groupId>
<artifactId>jjche-boot-c</artifactId>
</dependency>
</dependencies>
</profile>
</profiles>
只打包A和B模块命令
$ mvn clean package -Pa,b
总结
通过profile可以指定多个环境,在不修改代码的情况下灵活定义打包出的内容模块。