Maven中jar、war、pom的区别
Maven简介
什么是Maven?
Maven全程为Apache Maven。
从字面上理解,maven翻译为“专家”、“内行”,那它又是哪一方面的专家呢?日常工作中常用于管理jar包,负责jar包的下载、安装以及保存。
其官方的解释为:
创建Maven最初的目的:简化Jakarta Turbine项目的构建过程。
结果:Maven可以用于构建和管理任何基于Java开发的项目,使Java开发人员的日常工作更容易。
Maven的目标
Maven的目标:
让开发人员在最短的时间内了解开发工作的完整状态。
(怎么做)具体关注点有以下四个方面:
- 简化构造过程
- 提供统一的构建系统
- 提供优质的项目信息
- 鼓励更好的开发实践
官方网址:http://maven.apache.org/what-is-maven.html
Maven的标准目录结构
图片摘自(https://www.runoob.com/maven/maven-tutorial.html)
Maven仓库
什么是Maven仓库?
Maven仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。
Maven仓库能干什么?
Maven仓库可以帮助我们管理构件(主要是JAR包),它就是存放JAR包的地方。
【注】构件:指的是Maven中任何一个依赖、插件或项目构建的输出。
Maven仓库的类型
- 本地仓库:自己电脑中的本地文件夹,仅供个人使用。
- 镜像仓库:国内大厂(比如阿里,腾讯)从远程仓库下载下来的JAR包,供国内使用。
- 远程仓库:Maven官方仓库地址,全球可以访问。下载速度慢。
当本地仓库无法找到对应JAR包,回去镜像仓库寻找,镜像仓库找不到最后去远程仓库下载。
Maven POM
概念
POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。
执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。
JAR
概念
jar:JAR文件(Java归档,英语:Java ARchive)是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便分发Java平台应用软件或库。
通常是开发时要引用通用类,打成jar包便于存放管理。当你使用某些功能时就需要这些jar包的支持,需要导入jar包。
WAR
概念
war:(Web应用程序归档,英语:Web application archive)创建在JAR格式的基础上,也是一种Java归档,存储XML文件、Java类、JSP和Web应用程序中的其他文件。
它减少了传输文件所需要的时间。
当开发人员在自己的开发机器上调试所有代码并通过后,为了交给测试人员测试和未来进行产品发布,都需要将开发人员的源码打包成War进行发布。
War包可以放在Tomcat下的webapps或者word目录下,随着tomcat服务器的启动,它可以自动被解压。