【项目实战】Maven 项目中的两种常见的打包类型:<packaging>pom</packaging> 和 <packaging>jar</packaging>

一、<packaging>标签的作用

在 Maven 的 pom.xml 文件中,<packaging>元素定义了项目的打包方式。
在Maven项目中,<packaging>标签定义了项目的打包类型。
Maven 支持多种打包方式,但每个 Maven 项目只能有一种打包方式。

<packaging>pom</packaging><packaging>jar</packaging>

  • 是 Maven 项目中的两种不同的打包方式。
  • 不应该同时出现在同一个 pom.xml 文件中的。
  • <packaging>war</packaging> 用于 Web 应用程序

二、两种常见的打包类型:pom和jar

2.1当项目的打包类型设置为pom时, <packaging>pom</packaging>

  • 表示该项目,是一个聚合项目(aggregator project)。

  • 表示该项目,是一个 Maven 项目对象模型(POM)文件。

### Maven 多模块项目的配置 对于Maven多模块项目而言,`pom.xml` 文件扮演着至关重要的角色。每一个子模块都有自己的 `pom.xml` 来定义特定于该模块的信息,而父级POM则用于集中管理依赖关系、插件其他设置。 #### 父 POM 配置 在父POM中,通过 `<packaging>pom</packaging>` 声明这是一个聚合工程,并利用 `<modules>` 节点列举所有的子模块: ```xml <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.example</groupId> <artifactId>multiproject-parent</artifactId> <version>1.0-SNAPSHOT</version> <!-- 定义打包方式为 pom --> <packaging>pom</packaging> <name>Multiproject Parent</name> <!-- 列举所有子模块 --> <modules> <module>child-one</module> <module>child-two</module> </modules> <!-- 依赖管理插件管理可以在这里统一声明 --> <dependencyManagement> ... </dependencyManagement> <build> <pluginManagement> ... </pluginManagement> </build> </project> ``` #### 子模块配置 每个子模块也需要拥有自己独立的 `pom.xml` 文件,在其中指定具体的构建细节以及所需的依赖项。注意要继承自父POM来共享公共属性配置[^1]。 ```xml <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"> <parent> <groupId>com.example</groupId> <artifactId>multiproject-parent</artifactId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>child-one</artifactId> <name>Child One Module</name> <!-- 特定于此模块的依赖 --> <dependencies> ... </dependencies> </project> ``` 这种结构不仅有助于保持各部分之间的清晰界限,还能够简化跨多个组件的工作流程,使得团队协作更加高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

本本本添哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值