Maven是什么
Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建(项目构建是一个项目从编写源代码到编译,测试,运行,打包,部署,运行的过程),依赖管理(就是对项目所有依赖的jar包进行规范化管理)。
Maven的项目构建过程
maven将项目构建的过程进行标准化,每个阶段使用一个命令完成。
常用的命令:
- 清理阶段clean,清理输出的class文件 编译阶段
- compile,将java代码编译成class文件
- 测试阶段test,编译并运行test目录的代码 打包阶段
- package,java工程可以打包成jar包,web工程可以打包成war包
- install命令是吧项目发布到本地仓库
- Tomcat:run 是一键启动运行一个maven工程
Maven项目的依赖管理 - 传统项目工程要管理所依赖的jar包完全靠人工进行,程序员从网上下载jar包添加到项目工程中,这样的添加方式很不方便,有些jar包可能找不到,jar包添加到工程中导致工程很大,没有对jar包的版本统一管理,容易导致版本冲突。
- maven项目管理所依赖的jar包不需要手动向工程添加jar包,只需要在pom.xml(maven工程的配置文件)添加jar包的坐标,自动从maven仓库中下载jar包。这样就解决了传统项目的问题 ,通过pom.xml文件对jar包的版本进行统一管理,可避免版本冲突,而且maven团队维护了一个非常全的额maven仓库,里面包括了当前使用的jar包,maven工程可以自动从maven仓库下载jar包,非常方便。
使用maven的好处
1.、 一步构建
maven对项目构建过程进行标准化,通过一个命令就可完成构建过程。
2、依赖管理
maven工程不用手动到如jar包,通过在pom.xml中定义坐标从maven仓库自动下载,方便且不容易出错。
3、maven的跨平台,可咋windows、linux上使用
4、maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本 ,大公司都会考虑使用maven来构建项目。
Maven仓库 - 本地仓库:
本地仓库在自己的电脑上,由自己来维护。用来存储从远程仓库或者中央苍库下载的插件和jar包,项目使用一些插件或者jar包,优先从本地仓库查找。默认本地仓库位置在${user.dir}/.m2/respository, ${user.dir}表示电脑当前登录的用户目录。如果想要修改本地仓库的位置只需修改 settings.xml文件就可以。
- 远程仓库(私服)
远程仓库是一个公司内部的总仓库,有公司人员来维护。如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。远程仓库可以在互联网也可以在局域网。 - 中央仓库
在maven软件中内置一个远程仓库地址http://repo1.maven.org/maven2,它是中央仓库,服务于整个互联网,它是由maven团队自己维护,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件。
maven的目录结构
坐标定义
pom的基本配置