1.什么是maven?它是一种什么工具?使用maven的好处是什么?
Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),
一组标准集合,一个项目生命周期(Project Lifecycle),
一个依赖管理系统(Dependency Management System),
和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
Maven的好处:
1. maven不仅是构建工具,它还是依赖管理工具和项目管理工具,提供了中央仓库,能够帮我们自动下载构件。
2.为了解决的依赖的增多,版本不一致,版本冲突,依赖臃肿等问题,它通过一个坐标系统来精确地定位每一个构件(artifact)。
3.还能帮助我们分散在各个角落的项目信息,包括项目描述,开发者列表,版本控制系统,许可证,缺陷管理系统地址。
4.maven还为全世界的Java开发者提供了一个免费的中央仓库,在其中几乎可以找到任何的流行开源软件。通过衍生工具(Nexus),我们还能对其进行快速搜索
5.maven对于目录结构有要求,约定优于配置,用户在项目间切换就省去了学习成本。
2.maven有几种打包方式?
1:使用maven-jar-plugin和maven-dependency-plugin插件打包
2:使用maven-assembly-plugin插件打包
3:使用maven-shade-plugin插件打包
3.maven有几种仓库?分别是什么?
本地仓库:当Maven执行编译或测试时,如果需要使用到依赖文件,它总是基于坐标使用本地仓库的依赖文件。默认情况下,不管Linux还是Windows,每个用户在自己的用户目录下都有一个路径名为.m2/respository/的仓库目录。
远程仓库:安装好Maven后,如果不执行任何Maven命令,本地仓库的目录是不存在的。当用户输入第一条Maven命令后,Maven才会创建本地仓库,然后根据配置和需要从远程仓库下载依赖的构建到本地仓库。
中央仓库:由于最原始的本地仓库是空的,Maven必须知道至少一个可用的远程仓库,才能在执行Maven命令时下载到需要的构建。中央仓库就是一个默认的远程仓库,Maven的安装文件默认自带了中央仓库的配置。
私服:私服是一个特殊的远程仓库,它是架设在局域网内的仓库服务。私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构建的使用,它先从私服请求,如果私服上没有的话,则从外部的远程仓库下载,然后缓存在私服上,再为Maven的下载请求提供服务。 |