“Maven笔记”的版本间差异
跳到导航
跳到搜索
(→入门) |
(→安装与配置) |
||
第75行: | 第75行: | ||
解压:将maven解压到一个不含有中文和空格的目录中。 | 解压:将maven解压到一个不含有中文和空格的目录中。 | ||
[[File:Maven目录结构.jpg| | : [[File:Maven目录结构.jpg|800px]] | ||
# “bin”:“mvn.bat”(以run方式运行项目)、“mvnDebug.bat”(以debug方式运行项目); | # “bin”:“mvn.bat”(以run方式运行项目)、“mvnDebug.bat”(以debug方式运行项目); | ||
# “boot”:maven运行需要类加载器; | # “boot”:maven运行需要类加载器; | ||
第84行: | 第84行: | ||
环境变量: | 环境变量: | ||
* 添加“%MAVEN_HOME%/bin”到path; | * 添加“%MAVEN_HOME%/bin”到path; | ||
[[File:Maven环境变量.png| | *: [[File:Maven环境变量.png|800px]] | ||
验证安装: | 验证安装: | ||
* 通过“'''mvn -v'''”命令检查maven是否安装成功: | * 通过“'''mvn -v'''”命令检查maven是否安装成功: | ||
[[File:Maven验证安装.jpg| | *: [[File:Maven验证安装.jpg|800px]] | ||
=== Maven 仓库 === | === Maven 仓库 === |
2020年10月21日 (三) 23:09的版本
关于Maven
介绍
maven翻译为“专家”、“内行”,是Apache下的一个纯Java开发的开源项目, 它是一个项目管理工具,可以使用maven对java进行项目构建、依赖管理。
项目构建
- 项目构建,是一个项目从编写源代码到编译、 测试、 运行、 打包、 部署、 运行的过程;
传统项目构建过程:
- 在eclipse中创建一 个javaweb工程
- 在工程中编写源代码及配置文件等
- 对源代码进行编译,java文件编译成 class文件
- 执行Junit单元测试
- 将工程打成war包部署至tomcat运行
maven项目构建过程:
- maven将项目构建的过程进行标准化,每个阶段使用一个命令完成。
- 清理阶段:“clean”,用于清理输出的class 文件;
- 编译阶段:“compile”, 用于将java代码编译成 class文件;
- 打包阶段:“package”,java工程可以打成jar包,web包可以打成war包;
- 运行maven工程(web工程)需要命令:“tomat:run”
优点:
- 一个命令完成构建、运行,方便快捷。
- maven对每个构建阶段进行规范,非常有利千大型团队协作开发。
依赖管理
是依赖管理:就是对项目所有依赖的」ar包进行规范化管理。
传统项目的依赖管理
传统的项目工程要管理所依赖的jar包完全靠人工进行,程序员从网上下载jar包添加到项目工程中。这个过程中容易出现很多问题:
- 没有对jar包的版本统一管理, 容易导致版本冲突。
- 从网上找jar包非常不方便, 有些jar找不到。
- jar包添加到工程中导致工程过大。
Maven项目的依赖管理
maven项目管理所依赖的jar包不需要 手动向工程添加jar包,只需要在“pom.xml”(maven工程的配置文件)添加jar包的坐标,自动从maven仓库中下载jar包、运行,如下图:
优点:
- 通过pom.xml文件对jar包的版本进行统一管理, 可避免版本冲突。
- maven团队维护了一个非常全的maven仓库, 里边包括了当前使用的jar包, maven工程可以自动从maven仓库下载jar包, 非常方便。
使用Maven的优点
- 一步构建
- maven对项目构建的过程进行标准化, 通过一个命令即可完成构建过程。
- 依赖管理
- maven工程不用手动导」ar包, 通过在pom.xml 中定义坐标从maven仓库自动下载,方便且不易出错。
- maven的跨平台, 可在window、linux上使用。
- maven遴循规范开发有利于提高大型团队的开发效率, 降低项目的维护成本, 大公司都会考虑使用maven来构建项目。
入门
下载
- 从[1]可下载maven最新版本。
安装与配置
解压:将maven解压到一个不含有中文和空格的目录中。
- “bin”:“mvn.bat”(以run方式运行项目)、“mvnDebug.bat”(以debug方式运行项目);
- “boot”:maven运行需要类加载器;
- “conf”:“settings.xml”整个maven工具核心配置文件;
- “lib”:maven运行依赖jar包;
环境变量:
验证安装:
Maven 仓库
maven的工作需要从仓库下载些jar包,本地项目都会通过maven软件从远程仓库下载jar包并存在本地仓库,本地仓库存在的jar包就不用每次从远程仓库下载了。
仓库类型
- 本地仓库: 用来存储从远程仓库或中央仓库下载的插件和jar 包,项目使用一些插件或jar包,优先从本地仓库查找。
- 默认本地仓库位置在“${user.dir}/.m2/repository”中,(“${user.dir}”表示windows用户目录)。
- 远程仓库: 如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。
- 远程仓库可以在互联网内也可以在局域网内。
- 中央仓库: 在maven软件中内置一个远程仓库地址“http://repol.maven.org/maven2”,它是中央仓库,由Maven团队维护,服务于整个互联网,里面存储了非常全的jar包,包含了世界上大部分流行的开源项目构件。
配置本地仓库
在“%MAVEN_HOME%/conf/settings.xml”文件中配置本地仓库位置:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\repository</localRepository>
...
</settings>