Maven介绍:
Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。
Maven的特点:
项目设置遵循统一的规则。
任意工程中共享。
依赖管理包括自动更新。
一个庞大且不断增长的库。
可扩展,能够轻松编写 Java 或脚本语言的插件。
只需很少或不需要额外配置即可即时访问新功能。
基于模型的构建 − Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。
项目信息的一致性站点 − 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。
发布管理和发布单独的输出 − Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。
向后兼容性 − 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。
子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号,
并行构建 − 编译的速度能普遍提高20 - 50 %。
更好的错误报告 − Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。
下载安装及配置环境变量:
下载地址见文末
内含Maven的3.6.0和3.6.2两个版本(建议下载3.6.0,后者使用时可能出现异常,如无法使用插件等)
下载完成后在自定路径解压,创建环境变量(可起名为MAVEN_HOME),变量值设置为解压文件夹的目录,在变量path后添加字段%MAVEN_HOME%\bin,点击确定环境变量即配置完毕。
打开cmd,输入命令mvn -v后若出现如图情况,环境变量即配置完毕
Maven的配置:
Maven的仓库
本地仓库:
Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。
运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。
默认情况下,不管Linux还是 Windows,每个用户在自己的用户目录下都有一个路径名为 .m2/respository/ 的仓库目录。
中央仓库:
Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。
中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到。
地址:http://repo1.maven.org/maven2
远程仓库:
(在局域网或互联网中)如果 Maven 在中央仓库中也找不到依赖的文件,它会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven 提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。
配置文件
打开解压文件中的conf文件夹,用文本编辑器打开settings.xml,添加
<localRepository>路径</localRepository>
即为本地仓库的位置
因为中央仓库的地址为外网网址,不便于访问因此在配置文件中可以设置访问镜像网站作为中央仓库,在这里使用的是阿里云的镜像网站
<mirror>
<id>mirrorId
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central</url>
</mirror>
在IDEA中创建Maven工程
打开IDEA选择File->New->Project
在左侧选择Maven,在右侧选择相应选项,并选择上方的JDK版本(推荐使用1.8)
进行上述操作之后点击next,在GroupId后填写项目名,ArtifactId后填写模块名,填写完成后点击next
最后再设置Maven的路径,settings.xml的路径以及本地仓库的路径,点击finish即可创建成功
配置完成后项目文件夹下有一个命名为src的文件夹,旗下有一个子文件夹main,在向下是webapp文件夹,在向下为WEB-INF。src外有一个名为pom.xml的文件,即为Maven的核心配置文件,可以向这个文件中添加依赖,相当于jar包导入。关于依赖的导入,可以在 https://mvnrepository.com/ 中查看
依赖的范围:
范围 | 描述 |
---|---|
编译阶段 | 该范围表明相关依赖是只在项目的类路径下有效。默认取值。 |
供应阶段 | 该范围表明相关依赖是由运行时的 JDK 或者 网络服务器提供的。 |
运行阶段 | 该范围表明相关依赖在编译阶段不是必须的,但是在执行阶段是必须的。 |
测试阶段 | 该范围表明相关依赖只在测试编译阶段和执行阶段。 |
系统阶段 | 该范围表明你需要提供一个系统路径。 |
导入阶段 | 该范围只在依赖是一个 pom 里定义的依赖时使用。同时,当前项目的POM 文件的 部分定义的依赖关系可以取代某特定的 POM。 |
网盘下载地址
https://pan.baidu.com/s/1IUlYsGLVuM0ajhke2ew-tg
提取码:7fos