在IDEA里面jar jre jdk maven经常用,它们到底是干嘛的
-
jar
JAR(Java Archive FIle)Java归档文件,是Java标准的文档格式,JAR(Java ARchive,Java 归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。用户可将多个 Java applet 及其所需组件(.class 文件、图像和声音)绑定到 JAR 文件中,而后作为单个的简单 HTTP(Hypertext Tranfer Protocal,超文本传输协议)事务下载到浏览器中,从而大大提高下载速度。JAR 格式也支持压缩,从而减小了文件的大小,进一步缩短下载时间。
-
jre
Java Runtime Environment,支撑JAVA运行,包含java虚拟机(JVM),Java基础类库,其实每个编程软件都有一套自己的jre
-
jdk
支撑Java程序开发,包括编译器(javac.exe)、开发工具(javadoc.exe,jar.exe,keytool.exe,jconsole.exe调试分析工具)和更多类库(tools.jar)
-
maven
Maven是一个跨平台项目管理工具。自身是纯java开发的,主要服务基于Java平台的项目创建,依赖管理和项目信息管理,
(1)增加第三方jar包(不需要自己下载jar包)
(2)统一管理第三方jar包和之间的依赖关系(maven自动定位jar包坐标,从maven仓库中下载到工程)(3)将项目拆分成若干个模块:借助于Maven可以将一个项目拆分成多个工程。(例如爱洋葱)
(4)生命周期的一键构建,提供了一套对项目生命周期管理的标准,开发人员,测试人员统一使用maven进行项目的构建.项目的生命周期管理:编译,测试,打包,部署,运行
①清理(clean):删除编译的结果,为重新编译做准备。
②验证(validate):验证项目是否正确且所有必须信息是可用的。
③编译(cpmpile):java->class
④测试(test):针对于项目中的关键点进行测试,也可用项目中的测试代码去测试开发代码
⑤打包(package):将项目中包含的多个文件压缩成一个文件,用于安装或部署(java项目打成一个jar包,web项目打成一个war包,父工程-pom)
⑥检查(verify):对集成测试的结果进行检查,以保证质量达标
⑦安装(install):将打成的包,放到本地仓库,供其他项目使用。
⑧部署(deploy):将打成的包,放到服务器上,准备运行。
Maven仓库分类
1.本地仓库 : 相当于缓存。本地仓库存储在本地的磁盘当中,里面存放的是经常使用的jar包。
2.远程仓库 : 也叫做私服。基本每个公司都会有自己的私服,当本地的磁盘中不存在需要的jar包资源,则会请求私服进行资源下载。
3.中央仓库 : 远程仓库,由jar专业团队统一维护。
Maven定义jar包的各个字段的描述
groupId : 定义当前Maven组织的名称
artifactId : 定义项目模块
version : 定义当前项目的版本
scope : 依赖的范围;
其中,依赖范围如下图所示:(提醒一下provided,因为项目真正运行的时候,在tomcat有特定的serclet-api,所以在servlet-api的依赖范围规定为provided)