Maven(基础)、MyBatis

简介

        Apache Maven是一个项目管理和构建工具,它基于项目对象模型

        (POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档

        官网: http://maven.apache.org/

Maven作用

        Maven是专门用于管理和构建Java项目的工具,它的主要功能有:提供了一套标准化的项目结构、行提供了一套标准化的构建流程(编译,测试,打包,发布....)、提供了一套依赖管理机制

 标准化的项目结构如下图所示

        Maven提供了一套标准化的项目结构, 所有IDE使用Maven构建的项目结构完全一样, 所有IDE创建的Maven项目可以通用 

标准化的构建流程

        Maven提供了一套简单的命令来完成项目构建

依赖管理机制

        依赖管理:管理项目所依赖的第三方资源(jar包、插件...)

        Maven使用标准的坐标配置来管理各种依赖,只需要简单的配置就可以完成依赖管理。

Maven模型

仓库分类:

        本地仓库:自己计算机上的一个目录

        中央仓库:由Maven团队维护的全球唯一的仓库。地址: https://repo1.maven.org/maven2/

        远程仓库(私服):一般由公司团队搭建的私有仓库

        当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包。如果有,则在项目直接引用;如果没有,则去中央仓库中下载对应的jar包到本地仓库。还可以搭建远程仓库,将来jar包的查找顺序则变为:本地仓库-->远程仓库-->中央仓库

Maven安装配置

解压apache-maven-3.6.1.rar既安装完成

配置环境变量MAVEN_HOME为安装路径的bin目录

配置本地仓库:修改conf/settings.xml中的<localRepository>为一个指定目录

配置阿里云私服:修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签

<mirror>

        <id>alimaven</id>

        <name>aliyun maven</name>

        <urI>http://maven.aliyun.com/nexus/content/groups/public/</url>

        <mirrorOf>central</mirrorOf>

</mirror>

基本使用

常用命令

命令说明
compile编译
clean清理
test测试
package打包
install安装

生命周期

Maven构建项目生命周期描述的是一次构建过程经历经历了多少个事件

Maven对项目构建的生命周期划分为3套

  • clean:清理工作
  • default:核心工作,例如编译,测试,打包,安装等
  • site:产生报告,发布站点等

同一生命周期内,执行后边的命令,前边的所有命令会自动执行

IDEA配置Maven

IDEA配置Maven环境

  1. 选择IDEA中File --> Settings
  2. 搜索maven
  3. 设置IDEA使用本地安装的Maven,并修改配置文件路径

Maven坐标

        Maven 中的坐标是资源的唯一标识,使用坐标来定义项目或引入项目中需要的依赖

        Maven坐标主要组成:groupld、artifactld、version

groupld:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.GLATY)

artifactld:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)

version:定义当前项目版本号

创建Maven项目

        直接创建新项目,输入项目名称、位置以及其它信息。(空项目只需要输入项目名称和位置即可)

导入Maven项目

  1.         选择右侧Maven面板,点击+号
  2.         选中对应项目的pom.xml文件,双击即可

        如果没有Maven面板,选择View --> Appearance --> Tool Window Bars

配置Maven-Helper插件

  1. 选择IDEA中File --> Settings
  2. 选择 Plugins
  3. 搜索 Maven,选择第一个 Maven Helper,点击Install安装,弹出面板中点击Accept
  4. 重启IDEA

依赖管理

使用坐标导入jar包 

  1. 在pom.xml中编写<dependencies> 标签
  2. 在<dependencies>标签中使用<dependency>引入坐标
  3. 定义坐标的groupld,artifactld,version
  4. 点击刷新按钮,使坐标生效

        设置自动导入:选择IDEA中File --> Settings,在弹出的面板中找到Build Tools,选择Any changes,点击ok即可生效。

        快捷导包:在pom.xml中按alt + insert 选择Dependency,在弹出的面板中搜索对应坐标,然后双击选中对应坐标,点击刷新按钮,使坐标生效。

依赖范围

        通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境、测试环境、运行环境。

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope>
</dependency>
依赖范围编译classpath测试classpath运行classpath例子
compileYYYlogback
test-Y-Junit
providedYY-servlet-api
runtime-YYjdbc驱动
systemYY-存储在本地的jar包
import引入DependencyManagement

        <scope>默认值:compile

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/478626.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT在数据分析岗位了解阶段的应用

ChatGPT在数据分析岗位了解阶段的应用 ​ 1.1 数据分析师的职责与技能要求 ​ 如果想成为数据分析师&#xff0c;首先要了解这个岗位的具体职责和技能要求。这个问题可以直接询问ChatGPT&#xff1a; ​ ChatGPT收到上述内容后&#xff0c;返回如下结果。 ​ ChatGPT给出的信…

漫漫数学之旅027

文章目录 经典格言数学习题古今评注名人小传 - 约翰弥尔顿 经典格言 机会统治一切。——约翰弥尔顿&#xff08;John Milton&#xff09; 约翰弥尔顿&#xff0c;这位伟大的英国诗人曾掷地有声地说出&#xff1a;“机会统治一切。”这句话如果放在一场宇宙级的脱口秀中&#x…

基于Java SSM框架实现疫情防控系统项目【项目源码】计算机毕业设计

基于java的SSM框架实现疫情防控系统演示 Java技术 Java技术它是一个容易让人学会和使用的一门服务器语言。它在编程的过程当中只需要很少的知识就能建立起一个真正的交互站点。对于这个教程来说它并不需要你完全去了解这种语言&#xff0c;只要能快速融入web站点就可以&#x…

基于Java SSM框架实现生鲜食品o2o商城系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现生鲜食品o2o商城系统演示 摘要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 生鲜食品o2o商城系统&#xff0c;主要的模块包括查看管理员&#xff1b;首页、个人中心、用户…

springboot+flowable 使用方式

创建flowble制定流程图 登录flowalbe 制定流程图 进入建模器应用程序 创建流程图 分配用户 下载流程图 使用springboot 调用flowable /*** 导入流程图老师流程*/Testvoid startTeacherApprover(){Deployment deploy repositoryService.createDeployment().addClasspathRes…

更改WordPress作者存档链接author和Slug插件Edit Author Slug

WordPress默认所有用户的存档永久链接都是/author/username/&#xff0c;不管是管理员还是订阅者或贡献者或作者或编辑。如果你想要自定义用户存档链接&#xff0c;比如根据角色不同使用不一样的author&#xff0c;或者自定义作者链接中的用户名Slug&#xff0c;那么建议考虑使…

数字化转型导师坚鹏:政府数字化转型之数字化新技术解析与应用

政府数字化转型之数字化新技术解析与应用 课程背景&#xff1a; 数字化背景下&#xff0c;很多政府存在以下问题&#xff1a; 不清楚新技术的发展现状&#xff1f; 不清楚新技术的重要应用&#xff1f; 不清楚新技术的成功案例&#xff1f; 课程特色&#xff1a; 有…

数学建模:BP神经网络(含python实现)

原理 BP 神经网络&#xff0c;也称为多层感知机&#xff08;Multilayer Perceptron&#xff0c;MLP&#xff09;&#xff0c;是一种常见的神经网络模型&#xff0c;用于解决各种机器学习问题&#xff0c;包括分类和回归。BP 代表“反向传播”&#xff08;Backpropagation&#…

【天衍系列 01】深入理解Flink的 FileSource 组件:实现大规模数据文件处理

文章目录 01 基本概念02 工作原理03 数据流实现04 项目实战4.1 项目结构4.2 maven依赖4.3 StreamFormat读取文件数据4.4 BulkFormat读取文件数据4.5 使用小结 05 数据源比较06 总结 01 基本概念 Apache Flink 是一个流式处理框架&#xff0c;被广泛应用于大数据领域的实时数据…

从零开始学逆向:理解ret2libc-2

1.题目信息 题目下载链接&#xff1a;https://pan.baidu.com/s/1I9IOqD3Jq6RrghlUNL0wsg 提取码&#xff1a;0000 2.解题分析 ret2libc即劫持程序的控制流&#xff0c;使其执行libc中的函数&#xff0c;一般是返回到某个函数的plt处&#xff0c;或者某个函数的具体位置&…

HTML+CSS:发光滑块

效果演示 一个具有光晕效果的自定义滑动条&#xff0c;可以根据滑动条的位置和数值的变化来改变滑块的样式和颜色。 Code <input type"range" class"glow" style"--val: 50" value"50" min"0" max"100"oninpu…

element-plus日期选择器2次封装

预期效果 官网默认样式&#xff1a; 修改后的样式&#xff1a; 代码实现 DatePicker.vue <template><div class"date-picker-container"><el-date-picker v-model"date" change"handleChange" type"date" value-for…