maven多模块项目单独打包指定模块jar包

本文详细介绍了如何使用Maven命令行工具对多模块项目进行打包,特别是如何单独打包特定模块及其依赖。通过`mvn clean install -pl 模块名 -am -Dmaven.test.skip=true`等参数配置,可以跳过测试并只打包目标模块及关联依赖,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven多模块项目单独打包指定模块jar包

参考链接:Maven多模块——打包指定模块

指令名说明
clean清理项目
install安装项目
-pl打包指定模块,以逗号分隔
-am打包所指定模块的依赖模块
-amd打包所指定模块的依赖模块的依赖,含有传递依赖
-rf按指定顺序开始打包
-Dmaven.test.skip跳过测试,不然所有测试类都要执行而且必须要正确通过
mvn clean install -pl 单模块名 -am -Dmaven.test.skip=true

在这里插入图片描述

### 如何将Maven多模块项目打包成单个JAR文件 为了实现将一个多模块Maven项目打包成一个单独JAR文件,可以利用`spring-boot-maven-plugin`或者`maven-shade-plugin`来完成这一目标。以下是具体的方法: #### 使用 `spring-boot-maven-plugin` 如果项目的最终目的是创建一个可执行的JAR文件,则推荐使用`spring-boot-maven-plugin`插件。该插件能够自动处理依赖项并将它们嵌入到生成的JAR文件中。 在父POM文件中的配置如下所示: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.7.0</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 通过上述配置,在运行`mvn clean package`命令之后,会生成一个含所有子模块及其依赖关系的单一JAR文件[^1]。 #### 使用 `maven-shade-plugin` 另一种方式是采用`maven-shade-plugin`插件来进行打包操作。此插件允许自定义类加载器行为以及解决可能存在的资源冲突问题。 下面是一个典型的例子展示如何设置这个插件: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <!-- 添加Main-Class属性 --> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.example.MainApplication</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> ``` 这里的关键部分在于指定入口点(`Main-Class`)以便于启动应用程序[^3]。 当完成了以上任一方法后,只需简单地调用标准构建流程即可获得所需的独立部署单元——即那个含了整个应用逻辑连同其所需库在内的大而全的jar。 注意:无论是哪种方案都需确保各子模块间相互兼容并无版本冲突等问题存在;另外还需确认所选路径下不存在重复命名或其他潜在风险因素影响正常运作过程[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jack魏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值