Maven Spring Boot构建部署JAR时可选排除指定模块代码问询
Maven Spring Boot 项目可配置排除指定模块的实现方案
完全支持该需求,可通过 Maven 的 Profiles 特性实现按需选择是否包含指定模块,操作步骤如下:
步骤1:修改父POM的模块配置
在项目根目录的父pom.xml中,将固定的<modules>节点调整为通过Profile定义不同的模块组合:
<!-- 省略父POM其他基础配置 --> <profiles> <!-- 默认Profile:包含所有模块,无需额外参数自动激活 --> <profile> <id>include-all</id> <activation> <activeByDefault>true</activeByDefault> </activation> <modules> <module>module-1</module> <module>module-2</module> <module>module-3</module> </modules> </profile> <!-- 排除module-2的Profile:需要手动指定参数激活 --> <profile> <id>exclude-module2</id> <modules> <module>module-1</module> <module>module-3</module> </modules> </profile> </profiles>
步骤2:调整模块间依赖配置
如果module-1或module-3依赖了module-2,需要将该依赖设置为可选,或者通过Profile绑定依赖的加载逻辑,避免排除module-2时构建报错:
<!-- 示例:在依赖module-2的模块pom中配置可选依赖 --> <dependency> <groupId>com.your-project-group</groupId> <artifactId>module-2</artifactId> <version>${project.version}</version> <optional>true</optional> </dependency>
步骤3:按需执行构建命令
- 常规全模块构建(包含
module-2),直接执行原有命令即可:mvn clean install - 需要排除
module-2构建时,指定激活对应Profile即可:mvn clean install -P exclude-module2
内容的提问来源于stack exchange,提问作者Shabar
相关产品推荐
相关产品推荐

