ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# [maven的安装与基本使用](https://www.cnblogs.com/kyleinjava/p/9549481.html) 一、什么是maven,有什么用?   Maven是一个项目构建和管理的工具,其主要服务于基于java平台的项目构建、依赖管理和项目信息管理。它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。 二、maven安装   1.去maven官网下载并解压maven,并配置环境变量   ![![](https://images2018.cnblogs.com/blog/1277268/201808/1277268-20180828144634391-136169286.png)](images/screenshot_1640744554028.png)   ![](https://img.kancloud.cn/68/cd/68cd41ffb1a7ca6474bbeb032003cc9a_575x210.png)![](https://img.kancloud.cn/5d/67/5d67afd2fca34f90014b14f2533316b4_522x237.png)   配置完成后在命令行cmd 运行mvn -version  查询对应的版本号   2.配置文件settting.xml的简单配置(最好是将setting.xml文件复制一份到本地仓库中,然后进行修改)     ①配置创建项目时默认的jdk版本,在标签中添加,这样每次update项目的时候就会变为默认的jdk版本,这里是默认全局设置的编译版本 ~~~ <profile> <id>jdk-1.7</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile> ~~~   ![](https://images2018.cnblogs.com/blog/1277268/201808/1277268-20180828145915480-1594989046.png)     ②配置私有仓库的位置(maven所有的本地jar包都会放在私有仓库里面),其默认位置是当前用户目录下.m2文件夹中。通过修改下面的路径可以修改本地仓库的位置。     ![](https://images2018.cnblogs.com/blog/1277268/201808/1277268-20180828151114145-1497162773.png)     ③配置中央仓库,使用阿里云仓库作为中央仓库的镜像,因为国外的仓库访问非常慢 ~~~ <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> ~~~     ![](https://images2018.cnblogs.com/blog/1277268/201808/1277268-20180828155140865-759119703.png) 三、eclipse使用maven   eclipse 直接创建maven project  ,项目结构如下:   ![](https://img.kancloud.cn/ea/29/ea29c49b8c11a4c9be2c8467febafad7_455x271.png) 四、pom文件解析   pom是项目对象模型(Project Object Model)的简称,是maven的核心,其定义了整个项目的基本信息,如何构建项目、项目依赖的jar包等。   简单的pom解释如下: ~~~ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <!-- 组织名 --> <groupId>com.kyle</groupId> <!-- 定义了当前Maven项目在组中唯一的ID --> <artifactId>demo</artifactId> <!-- 版本号 --> <version>0.0.1-SNAPSHOT</version> <!-- 指定了POM模型的版本,对于Maven2及Maven3来说,它只能是4.0.0 --> <modelVersion>4.0.0</modelVersion> <!-- 项目打包方式有pom、jar、war等 --> <packaging>war</packaging> <!-- 项目名,maven产生文档用 --> <name>demo</name> <url>http://maven.apache.org</url> <!-- 继承的父项目 --> <!-- <parent> <groupId></groupId> <artifactId></artifactId> <version></version> </parent> --> <!--项目引入依赖包--> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>demo</finalName> <plugins> <!-- 引入插件,设置java编译版本 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> </project> ~~~   详细的pom解析:   [https://www.cnblogs.com/oskyhg/p/6445589.html](https://www.cnblogs.com/oskyhg/p/6445589.html)   [https://blog.csdn.net/sunzhenhua0608/article/details/32938533](https://blog.csdn.net/sunzhenhua0608/article/details/32938533)   [https://blog.csdn.net/wdx1121/article/details/79664385](https://blog.csdn.net/wdx1121/article/details/79664385)  五、maven的生命周期和相关命令   1.一个项目的构建过成通常包括清理、编译、测试、打包、集成测试、验证、部署等。Maven从中抽取了一套完善的、易扩展的生命周期。Maven的生命周期是抽象的,其中的具体任务都交由插件来完成。Maven为大多数构建任务编写并绑定了默认的插件。   2.Maven定义了三套生命周期:clean、default、site,每个生命周期都包含了一些阶段(phase)。三套生命周期相互独立,但各个生命周期中的phase却是有顺序的,且后面的phase依赖于前面的phase。执行某个phase时,其前面的phase会依顺序执行,但不会触发另外两套生命周期中的任何phase。     ![](https://img.kancloud.cn/83/2a/832a4ecf622a2124baea7fb8dcdb85e0_782x180.png)       ![](https://img.kancloud.cn/44/37/4437dd4042ac97fb828f039c06f18d4c_782x874.png)     ![](https://img.kancloud.cn/fb/02/fb02a89c5df6bddaf1e6f1368e39b742_780x222.png)   3.maven常见的命令 ~~~ validate:验证项目是正确的,所有必要的信息都是可用的 compile:编译项目的源代码 test:使用适当的单元测试框架测试编译后的源代码。这些测试不应要求将代码打包或部署 package:使用已编译的代码,并将其打包成可分布格式,例如JAR。 verify:对集成测试的结果进行任何检查,以确保满足质量标准 install:将包安装到本地存储库中,以便在本地其他项目中使用该包 deploy:在构建环境中完成,将最终的包复制到远程存储库中,以便与其他开发人员和项目共享。 ~~~     这些生命周期阶段(加上这里没有显示的其他生命周期阶段)是按顺序执行的,以完成默认的生命周期。鉴于上面的生命周期阶段,这意味着当使用默认的生命周期时,Maven将会优先执行检查项目(validate),然后将会尝试编译源代码(compile),运行集成测试方案(test),验证了集成测试(verify),验证包安装到本地存储库(install),然后将安装包部署到远程存储库(deploy)。     ![](https://img.kancloud.cn/e6/14/e614e2f57f821b06b960e9b90b378ddd_1093x416.png)