1.pom工程:
**用在父级工程或聚合工程中。用来做jar包的版本控制。必须指明这个聚合工程的打包方式为pom
现在有这样一个场景,有两个web项目A、B,一个java项目C,它们都需要用到同一个jar包:common.jar。如果分别在三个项目的pom文件中定义各自对common.jar的依赖,那么当common.jar的版本发生变化时,三个项目的pom文件都要改,项目越多要改的地方就越多,很麻烦。这时候就需要用到parent标签, 我们创建一个parent项目,打包类型为pom,parent项目中不存放任何代码,只是管理多个项目之间公共的依赖。在parent项目的pom文件中定义对common.jar的依赖,ABC三个子项目中只需要定义<parent></parent>,parent标签中写上parent项目的pom坐标就可以引用到common.jar了。
分别对子项目打Jar包的时候会导入项目的jar包。看起来就像本地引用一样。
Packing = pom,
2.war工程:
将会打包成war,发布在服务器上的工程。如网站或服务。在SpringBoot 项目中,只要我们在依赖中添加了web的启动器,我们就不需要添加打包方式了,maven会自动帮助我们 识别这个项目为war工程。不是springBoot项目的话,则需要指明这个项目为一个web工程。
**3.jar工程:
**将会打包成jar用作jar包使用。在项目中,不指明的话,默认的就是打包成jar工程,我们也可以添加指明打包方式为jar。
Maven可以脱离IDE工具打包,直接命令行构建项目,maven-war-plugin、maven-springboot-plugin、maven-jar-plugin。IDE导入Maven类型项目,部署也会参考maven的配置。