Maven的三种项目打包方式——pom,jar,war的区别

1、pom :用在父级工程或聚合工程中,用来做jar包的版本控制,必须指明这个聚合工程的打包方式为pom。

特点

  • 父项目:用于定义一组共享的构建配置和依赖管理。
  • 子项目可以继承这些配置,避免重复配置。
  • 聚合项目:用于管理多个模块的构建,可以一次性构建和发布多个模块。
java 复制代码
    <packaging>pom</packaging>

    <modules>
        <module>dexun-base</module>
        <module>dexun-order</module>
        <module>dexun-system</module>
		<module>dexun-infra</module>
    </modules>

moudle中的子项目可以为jar或者war

java 复制代码
 <packaging>jar</packaging>
 <packaging>war</packaging>

2、jar:用于打包普通Java项目或可执行应用(如SpringBoot项目),包含.class文件、资源文件和依赖(可选的)。

特点:

  • 自包含(SpringBoot的fat jar包含所有依赖),

  • 可直接通过java -jar运行。

  • 适用场景:微服务、独立应用。

2、war:用于打包普通Java项目或可执行应用(如SpringBoot项目),包含.class文件、资源文件和依赖(可选的)。

特点:

  • 用于传统Java Web项目,需部署到Servlet容器(如Tomcat)。

  • 特点:不包含Servlet容器本身,依赖由容器提供或通过WEB-INF/lib存放。

  • 适用场景:企业级Web应用(如SSM项目)。

相关推荐
a587699 分钟前
消息队列(MQ)初级入门:详解RabbitMQ与Kafka
java·分布式·microsoft·面试·kafka·rabbitmq
千里码aicood21 分钟前
【springboot+vue】党员党建活动管理平台(源码+文档+调试+基础修改+答疑)
java·数据库·spring boot
Chan1625 分钟前
【智能协同云图库】基于统一接口架构构建多维度分析功能、结合 ECharts 可视化与权限校验实现用户 / 管理员图库统计、通过 SQL 优化与流式处理提升数据
java·spring boot·后端·sql·spring·intellij-idea·echarts
先做个垃圾出来………31 分钟前
差分数组(Difference Array)
java·数据结构·算法
BillKu1 小时前
Java核心概念详解:JVM、JRE、JDK、Java SE、Java EE (Jakarta EE)
java·jvm·jdk·java ee·jre·java se·jakarta ee
刘婉晴2 小时前
【Java】NIO 简单介绍
java·nio
渣哥2 小时前
聊聊我和 ArrayList、LinkedList、Vector 的“一地鸡毛”
java
浮游本尊2 小时前
Java学习第20天 - 性能优化与监控
java
纪莫2 小时前
技术面:Java并发(线程同步、死锁、多线程编排)
java·java面试⑧股
衍余未了2 小时前
k8s 内置的containerd配置阿里云个人镜像地址及认证
java·阿里云·kubernetes