01认识Maven如今我们构建一个项目需要用到很多第三方的类库如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌并且Jar包之间的关系错综复杂一个Jar包往往又会引用其他Jar包缺少任何一个Jar包都会导致项目编译失败。以往开发项目时程序员往往需要花较多的精力在引用Jar包搭建项目环境上而这一项工作尤为艰难少一个Jar包、多一个Jar包往往会报一些让人摸不着头脑的异常。而Maven就是一款帮助程序员构建项目的工具我们只需要告诉Maven需要哪些Jar 包它会帮助我们下载所有的Jar极大提升开发效率。02Maven安装配置一、安装1. 访问URLhttps://maven.apache.org/download.cgi 2. 点击左侧导航的Download链接选择apache-maven- 3.6.3-bin.zip下载3. 将apache-maven-3.6.3-bin.zip解压缩到任意目录 比如 D:\Programs\autoFrame\apache-maven-3.6.3 4. 配置环境变量 MAVEN_HOMED:\Programs\autoFrame\apache-maven-3.6.3 path%MAVEN_HOME%\bin;%path% 5. 验证maven是否安装成功 按winR 运行cmd 输入 mvn -version如下所示则配置成功C:\Users\Foreknewmvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: D:\Programs\autoFrame\apache-maven- 3.6.3\bin\.. Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_212\jre Default locale: zh_CN, platform encoding: GBK OS name: windows 10, version: 10.0, arch: amd64, family: windows二、配置settings文件1. 在D:\Programs\autoFrame\apache-maven-3.6.3\conf下 可以找到settings文件打开; 2. 找到第52行这里是maven默认的仓库:3. 我们复制第53行 localRepository/path/to/local/repo/localRepositor y 将它拿到注释外并将中间的内容改成你需要的路径如图 localRepositoryD:/mvn/repository/localRepository 这里的路径随便设置注意这里是正斜杠。 4. 配置下载服务器 因为国外的服务器下载jar包很慢所以我们改为阿里云服务器 在mirrors/mirrors中加入 !-- 阿里云仓库 -- mirror idalimaven/id mirrorOfcentral/mirrorOf namealiyun maven/name urlhttp://maven.aliyun.com/nexus/content/reposito ries/central//url /mirror 5. 配置JDK 在profile/profile中加入 idjdk-1.8/id activation activeByDefaulttrue/activeByDefault jdk1.8/jdk /activation properties maven.compiler.source1.8/maven.compiler.source maven.compiler.target1.8/maven.compiler.target maven.compiler.compilerVersion1.8/maven.compiler. compilerVersion /properties 6. 配置完成在命令行输入mvn help:system测试看到下载链接里面是ailiyun的链接表示配置成功03Maven基本用法1Maven POMPOM( Project Object Model项目对象模型 ) 是 Maven 工程的基本工作单元是一个XML文件包含了项目的基本信息用于描述项目如何构建声明项目依赖等等。执行任务或目标时Maven 会在当前目录中查找 POM。它读取POM获取所需的配置信息然后执行目标。POM 中可以指定以下配置项目依赖插件执行目标项目构建 profile项目版本项目开发者列表相关邮件列表信息在创建 POM 之前我们首先需要描述项目组 (groupId), 项目的唯一ID。project xmlns http://maven.apache.org/POM/4.0.0 xmlns:xsi http://www.w3.org/2001/XMLSchemainstance xsi:schemaLocation http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd !-- 模型版本 -- modelVersion4.0.0/modelVersion !-- 公司或者组织的唯一标志并且配置时生成的路径也是由此 生成 如com.companyname.project-groupmaven会将该项目 打成的jar包放本地路径/com/companyname/project-group - - groupIdcom.companyname.project-group/groupId !-- 项目的唯一ID一个groupId下面可能多个项目就是靠 artifactId来区分的 -- artifactIdproject/artifactId !-- 版本号 -- version1.0/version /project所有 POM 文件都需要 project 元素和三个必需字段groupIdartifactIdversion。2Maven 构建生命周期Maven 构建生命周期定义了一个项目构建跟发布的过程。一个典型的 Maven 构建build生命周期是由以下几个阶段的序列组成的为了完成 default 生命周期这些阶段包括其他未在上面罗列的生命周期阶段将被按顺序地执行。Maven 有以下三个标准的生命周期clean项目清理的处理default(或 build)项目部署的处理site项目站点文档创建的处理3Maven 仓库在 Maven 的术语中仓库是一个位置place。Maven 仓库是项目中依赖的第三方库这个库所在的位置叫做仓库。在 Maven 中任何一个依赖、插件或者项目构建的输出都可以称之为构件。Maven 仓库能帮助我们管理构件主要是JAR它就是放置所有JAR文件WARZIPPOM等等的地方。Maven 仓库有三种类型本地localMaven 的本地仓库在安装 Maven 后并不会创建它是在第一次执行 maven 命令的时候才被创建。运行 Maven 的时候Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有它会首先尝试从远程仓库下载构件至本地仓库然后再使用本地仓库的构件。默认情况下不管Linux还是 Windows每个用户在自己的用户目录下都有一个路径名为 .m2/respository/ 的仓库目录。Maven 本地仓库默认被创建在 %USER_HOME% 目录下。要修改默认位置在 %M2_HOME%\conf 目录中的 Maven 的 settings.xml文件中定义另一个路径。中央centralMaven 中央仓库是由 Maven 社区提供的仓库其中包含了大量常用的库。中央仓库包含了绝大多数流行的开源Java构件以及源码、作者信息、SCM、信息、许可证信息等。一般来说简单的Java项目依赖的构件都可以在这里下载到。远程remote如果 Maven 在中央仓库中也找不到依赖的文件它会停止构建过程并输出错误信息到控制台。为避免这种情况Maven 提供了远程仓库的概念它是开发人员自己定制仓库包含了所需要的代码库或者其他工程中用到的 jar 文件。4Maven 依赖搜索顺序当我们执行 Maven 构建命令时Maven 开始按照以下顺序查找依赖的库步骤 1 在本地仓库中搜索如果找不到执行步骤 2如果找到了则执行其他操作;步骤 2 在中央仓库中搜索如果找不到并且有一个或多个远程仓库已经设置则执行步骤 4如果找到了则下载到本地仓库中以备将来引用;步骤 3 如果远程仓库没有被设置Maven 将简单的停滞处理并抛出错误无法找到依赖的文件;步骤 4 在一个或多个远程仓库中搜索依赖的文件如果找到则下载到本地仓库以备将来引用否则 Maven 将停止处理并抛出错误无法找到依赖的文件;
涨薪技术|项目构建工具Maven使用教程
01认识Maven如今我们构建一个项目需要用到很多第三方的类库如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌并且Jar包之间的关系错综复杂一个Jar包往往又会引用其他Jar包缺少任何一个Jar包都会导致项目编译失败。以往开发项目时程序员往往需要花较多的精力在引用Jar包搭建项目环境上而这一项工作尤为艰难少一个Jar包、多一个Jar包往往会报一些让人摸不着头脑的异常。而Maven就是一款帮助程序员构建项目的工具我们只需要告诉Maven需要哪些Jar 包它会帮助我们下载所有的Jar极大提升开发效率。02Maven安装配置一、安装1. 访问URLhttps://maven.apache.org/download.cgi 2. 点击左侧导航的Download链接选择apache-maven- 3.6.3-bin.zip下载3. 将apache-maven-3.6.3-bin.zip解压缩到任意目录 比如 D:\Programs\autoFrame\apache-maven-3.6.3 4. 配置环境变量 MAVEN_HOMED:\Programs\autoFrame\apache-maven-3.6.3 path%MAVEN_HOME%\bin;%path% 5. 验证maven是否安装成功 按winR 运行cmd 输入 mvn -version如下所示则配置成功C:\Users\Foreknewmvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: D:\Programs\autoFrame\apache-maven- 3.6.3\bin\.. Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_212\jre Default locale: zh_CN, platform encoding: GBK OS name: windows 10, version: 10.0, arch: amd64, family: windows二、配置settings文件1. 在D:\Programs\autoFrame\apache-maven-3.6.3\conf下 可以找到settings文件打开; 2. 找到第52行这里是maven默认的仓库:3. 我们复制第53行 localRepository/path/to/local/repo/localRepositor y 将它拿到注释外并将中间的内容改成你需要的路径如图 localRepositoryD:/mvn/repository/localRepository 这里的路径随便设置注意这里是正斜杠。 4. 配置下载服务器 因为国外的服务器下载jar包很慢所以我们改为阿里云服务器 在mirrors/mirrors中加入 !-- 阿里云仓库 -- mirror idalimaven/id mirrorOfcentral/mirrorOf namealiyun maven/name urlhttp://maven.aliyun.com/nexus/content/reposito ries/central//url /mirror 5. 配置JDK 在profile/profile中加入 idjdk-1.8/id activation activeByDefaulttrue/activeByDefault jdk1.8/jdk /activation properties maven.compiler.source1.8/maven.compiler.source maven.compiler.target1.8/maven.compiler.target maven.compiler.compilerVersion1.8/maven.compiler. compilerVersion /properties 6. 配置完成在命令行输入mvn help:system测试看到下载链接里面是ailiyun的链接表示配置成功03Maven基本用法1Maven POMPOM( Project Object Model项目对象模型 ) 是 Maven 工程的基本工作单元是一个XML文件包含了项目的基本信息用于描述项目如何构建声明项目依赖等等。执行任务或目标时Maven 会在当前目录中查找 POM。它读取POM获取所需的配置信息然后执行目标。POM 中可以指定以下配置项目依赖插件执行目标项目构建 profile项目版本项目开发者列表相关邮件列表信息在创建 POM 之前我们首先需要描述项目组 (groupId), 项目的唯一ID。project xmlns http://maven.apache.org/POM/4.0.0 xmlns:xsi http://www.w3.org/2001/XMLSchemainstance xsi:schemaLocation http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd !-- 模型版本 -- modelVersion4.0.0/modelVersion !-- 公司或者组织的唯一标志并且配置时生成的路径也是由此 生成 如com.companyname.project-groupmaven会将该项目 打成的jar包放本地路径/com/companyname/project-group - - groupIdcom.companyname.project-group/groupId !-- 项目的唯一ID一个groupId下面可能多个项目就是靠 artifactId来区分的 -- artifactIdproject/artifactId !-- 版本号 -- version1.0/version /project所有 POM 文件都需要 project 元素和三个必需字段groupIdartifactIdversion。2Maven 构建生命周期Maven 构建生命周期定义了一个项目构建跟发布的过程。一个典型的 Maven 构建build生命周期是由以下几个阶段的序列组成的为了完成 default 生命周期这些阶段包括其他未在上面罗列的生命周期阶段将被按顺序地执行。Maven 有以下三个标准的生命周期clean项目清理的处理default(或 build)项目部署的处理site项目站点文档创建的处理3Maven 仓库在 Maven 的术语中仓库是一个位置place。Maven 仓库是项目中依赖的第三方库这个库所在的位置叫做仓库。在 Maven 中任何一个依赖、插件或者项目构建的输出都可以称之为构件。Maven 仓库能帮助我们管理构件主要是JAR它就是放置所有JAR文件WARZIPPOM等等的地方。Maven 仓库有三种类型本地localMaven 的本地仓库在安装 Maven 后并不会创建它是在第一次执行 maven 命令的时候才被创建。运行 Maven 的时候Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有它会首先尝试从远程仓库下载构件至本地仓库然后再使用本地仓库的构件。默认情况下不管Linux还是 Windows每个用户在自己的用户目录下都有一个路径名为 .m2/respository/ 的仓库目录。Maven 本地仓库默认被创建在 %USER_HOME% 目录下。要修改默认位置在 %M2_HOME%\conf 目录中的 Maven 的 settings.xml文件中定义另一个路径。中央centralMaven 中央仓库是由 Maven 社区提供的仓库其中包含了大量常用的库。中央仓库包含了绝大多数流行的开源Java构件以及源码、作者信息、SCM、信息、许可证信息等。一般来说简单的Java项目依赖的构件都可以在这里下载到。远程remote如果 Maven 在中央仓库中也找不到依赖的文件它会停止构建过程并输出错误信息到控制台。为避免这种情况Maven 提供了远程仓库的概念它是开发人员自己定制仓库包含了所需要的代码库或者其他工程中用到的 jar 文件。4Maven 依赖搜索顺序当我们执行 Maven 构建命令时Maven 开始按照以下顺序查找依赖的库步骤 1 在本地仓库中搜索如果找不到执行步骤 2如果找到了则执行其他操作;步骤 2 在中央仓库中搜索如果找不到并且有一个或多个远程仓库已经设置则执行步骤 4如果找到了则下载到本地仓库中以备将来引用;步骤 3 如果远程仓库没有被设置Maven 将简单的停滞处理并抛出错误无法找到依赖的文件;步骤 4 在一个或多个远程仓库中搜索依赖的文件如果找到则下载到本地仓库以备将来引用否则 Maven 将停止处理并抛出错误无法找到依赖的文件;