Maven的三种项目打包方式——pom,jar,war的区别
1、pom:用在父级工程或聚合工程中,用来做jar包的版本控制,必须指明这个聚合工程的打包方式为pom。
特点
- 父项目:用于定义一组共享的构建配置和依赖管理。
- 子项目可以继承这些配置,避免重复配置。
- 聚合项目:用于管理多个模块的构建,可以一次性构建和发布多个模块。
<packaging>pom</packaging><modules><module>dexun-base</module><module>dexun-order</module><module>dexun-system</module><module>dexun-infra</module></modules>
moudle中的子项目可以为jar或者war
<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项目)。