重庆企业网站建站,小型企业网站的设计与实现,学习电子商务网站建设与管理,公众号开发难吗文章目录 1 Maven介绍1.1 Maven的介绍1.2 Maven的作用 2 Maven下载与安装2.1 官网下载2.2 文件目录2.3 环境配置 3 Maven基础概念3.1 仓库分类3.2 依赖坐标3.3 坐标组成 4 Maven配置4.1 本地仓库配置4.2 远程仓库的设置4.3 镜像仓库配置4.4 IDEA配置Maven 5 Maven项目创建5.1 M… 文章目录 1 Maven介绍1.1 Maven的介绍1.2 Maven的作用 2 Maven下载与安装2.1 官网下载2.2 文件目录2.3 环境配置 3 Maven基础概念3.1 仓库分类3.2 依赖坐标3.3 坐标组成 4 Maven配置4.1 本地仓库配置4.2 远程仓库的设置4.3 镜像仓库配置4.4 IDEA配置Maven 5 Maven项目创建5.1 Maven项目的构建命令5.2 IDEA创建Maven工程 6 Maven依赖管理6.1 依赖配置6.2 依赖传递6.3 依赖冲突6.4 可选依赖6.5 排除依赖6.6 依赖范围6.7 依赖范围的传递性 7 生命周期与插件7.1 生命周期7.2 插件 1 Maven介绍
1.1 Maven的介绍
Maven的本质是一个项目管理工具将项目开发中和管理过程抽象成一个项目对象模型 —POM POMProject Object Model --即项目对象模型
1.2 Maven的作用
项目构建提供标准的跨平台的自动化项目构建方式依赖管理方便快捷的管理项目依赖的资源lar包避免资源之间的版本冲突问题统一开发结构提供标准的统一的项目结构
2 Maven下载与安装
2.1 官网下载
Maven官网http://maven.apache.org/. Maven下载地址https://maven.apache.org/download.cgi 2.2 文件目录
Maven是绿色软件下载解压即可使用
2.3 环境配置
Maven运行需要依赖JAVA_HOME 前提需要安装配置好 jdk 设置Maven自身的运行环境需要配置MAVEN_HOME
1、配置Maven的安装目录MAVEN_HOME 2、配置Maven的bin路径path目录下
3、cmd指令mvn检查安装
cmd输入mvn显示如下信息表示maven安装成功
3 Maven基础概念
3.1 仓库分类 仓库用于存储资源包含各种jar包 仓库分为本地仓库、私服仓库、中央仓库 三种 本地仓库自己电脑上存储资源的仓库连接远程仓库获取资源远程仓库私服仓库和中央仓库属于远程仓库不在本地计算机上为本地库提供资源中央仓库Maven团队维护存储所有资源的仓库私服仓库部门或公司范围内存储资源的仓库从中央仓库获取资源 私服的作用保存具有版权的资源一定范围内部共享不对外开放 3.2 依赖坐标
坐标Maven中的坐标用于描述仓库中资源的位置官网https://repo1.maven.org/maven2/ 3.3 坐标组成
1 坐标组成
坐标名含义内容groupId定义当前Maven项目隶属的组织域名倒写artifactId当前Maven项目的名称通常是模块名称version定义当前项目的版本号创建时定义 2 坐标官网
官网https://mvnrepository.com/
4 Maven配置
4.1 本地仓库配置 1、默认位置 默认的本地仓库的位置在C:\Users\Administrator.m2\repository 2 打开conf目录下的setting.xml文件查看仓库的默认位置 3、设置自定义的仓库位置 设置自定义仓库之后所有的jar包就会下载到此文件夹内
4.2 远程仓库的设置
中央仓库在国外直接从本地连接外网下载需要的资源文件传输和下载速率较慢所以一般会使用私服作为衔接用于资源的下载。
4.3 镜像仓库配置
阿里为广大开发者提供了阿里云镜像仓库大大提高资源文件的下载和传输速率提高了开发效率。 在settings.xml文件中配置镜像仓库 !--配置aliyun镜像仓库--mirror!-- 镜像的唯一标识符 --idnexus-aliyun/id!-- 对中央仓库进行镜像 --mirrorOfcentral/mirrorOf!-- 镜像名称 --nameNeuxs aliyun/name!-- 镜像地址 --urlhttp://maven.aliyun.com/nexus/content/groups/public/url/mirror4.4 IDEA配置Maven
File | Settings | Build, Execution, Deployment | Build Tools | Maven
5 Maven项目创建
5.1 Maven项目的构建命令
Maven构建命令使用 mvn 开头后面添加功能参数可以一次执行多个命令使用空格分开
mvn compile #编译
mvn clean #清理
mvn test #测试
mvn package #打包
mvn install #安装到本地库指令的作用
mvn compile 执行编译操作生成项目编译后的class文件项目根目录下生成target目录class文件存放的位置在 target 目录下mvn clean 执行清理操作执行此命令会将生成的class文件包括target目录一并清除mvn test 执行测试操作下载插件执行此命令会生成项目的测试报告以及测试的class文件存放在target目录下mvn package 执行打包操作执行此命令会将源程序进行打包操作如jar包或war包打包的过程中先执行compile编译再执行test-compile 测试编译再执行test 测试动作最后才执行package打包操作mvn install 执行安装操作将打包后的项目存放在groupId下的artfactId下的version下安装的过程同上最后执行安装5.2 IDEA创建Maven工程
1、创建项目 2、构建项目
6 Maven依赖管理
6.1 依赖配置
依赖指的是当前项目运行需要的jar包一个项目可以设置多个依赖格式
6.2 依赖传递
依赖具有传递性可以分为直接依赖和间接依赖
直接依赖在当前项目中通过依赖配置建立的依赖关系间接依赖直接依赖的资源如果依赖其他资源那么当前项目就间接依赖其他资源
6.3 依赖冲突
路径优先当依赖中出现相同的资源时层级越深优先级越低反之越高声明优先当资源在相同层级被依赖时配置顺序靠前的覆盖配置顺序靠后的特殊优先当同级配置相同依赖的不同版本后配置的堵盖先配置的
6.4 可选依赖
可选依赖指的是对外隐藏当前依赖的资源资源不透明
6.5 排除依赖
排除依赖是指主动断开依赖的资源被排除的资源无需指定版本 6.6 依赖范围 依赖范围 是指依赖的jar默认情况可以在任何地方使用可以通过scope标签设定其作用范围 作用范围 主程序范围有效main文件夹范围内测试程序范围有效test文件夹范围内是否参与打包package指令范围内 scope的属性值
scopemaintestpackage范例compile 默认)YYYlog4jprovideYYNservlet-apiruntimeNNYjdbctestNNYjunit
6.7 依赖范围的传递性
带有依赖范围的资源在进行传递时作用范围将收到影响
间接依赖 / 直接依赖compileprovideruntimetestcompilecompileprovideruntimetestprovideruntimeruntimeprovideruntimetesttest
7 生命周期与插件
7.1 生命周期 1、项目构建生命周期 Maven构建生命周期描述的是一次构建过程经历了多少个事件 2 项目构建生命周期Maven对项目构建的生命周期划分为3套上述周期划分 clean清理工作default核心工作如编译测试打包安装部署site产生报告发布站点 3 clean 构建生命周期 pre-clean执行一些需要在clean之前完成的工作clean移除所有上一次构建生成的文件post-clean执行一些需要在clean之后完成的工作 4 default 构建生命周期
操作名称功能validate校验校验项目是否正确并且所欲的信息可以完成项目的构建initialize初始化初始化构建状态generate-sources生成源代码生成包含在编译阶段中的任何源代码process-sources处理源代码处理源代码generate-resources生成资源文件生成将包含在项目包中的资源文件process-resources处理资源文件复制和处理资源到目标目录为打包阶段做准备compile编译编译项目中的源代码process-classes处理类文件处理编译生成的文件generate-test-sources生成测试源代码生成包含在编译阶段中的任何测试代码process-test-sources处理测试源代码处理测试代码generate-test-resources生成测试资源文件生成将包含在项目包中的测试资源文件process-test-resources处理测试资源文件复制和处理测试资源到目标目录test-compile编译测试源码编译测试源代码到测试目标目录process-test-classes处理测试类文件处理测试源代码编译生成的文件test测试使用合适的单元测试框架运行测试prepare-package准备打包在实际打包之前执行必要的操作为打包做准备package打包将编译后的代码打包成可分发格式的文件pre-integration-test集成测试前在执行测试之前的必要准备工作integration-test集成测试处理和部署项目到可以运行集成测试的环境中post-integration-test集成测试后在执行测试之后的必要准备工作verify验证运行任意的检查未验证项目包有效且达到质量标准install安装安装项目包到本地仓库这样项目就可以用作其他本地项目的依赖deploy部署将最终的项目包复制到远程仓库中与其他开发者的项目共享
3 site 构建生命周期 pre-site 执行一些需要在生产站点文档之前完成的工作site 生成项目的站点文档post-site 执行一些需要在站点文档之后完成的工作并未部署做准备site-deploy将生成的站点文档部署到特定的服务器上
7.2 插件
插件与生命周期内的阶段绑定在执行到对应生命周期时执行对应的插件功能默认Maven在各个生命周期上绑有预设的功能通过插件可以自定义其他功能 !--构建--build!--设置插件--plugins!--具体插件--plugin!--插件的坐标--groupIdorg.apache.maven.plugins/groupIdartifactIdmaven-source-plugin/artifactIdversion3.0.0/version!--执行操作--executions!--具体执行的操作--execution!--目标--goals!--对main文件夹中的源代码进行打包--goaljar/goal/goals!--生成测试代码时使用--phasegenerate-test-resources/phase/execution/executions/plugin/plugins/build