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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue 实现当前页的刷新

Vue 在缓存的基础上实现当前页的刷新 前进刷新&#xff0c;后退不刷新 一、Bus的实现 Bus.js 二、利用Bus实现不同页面的事件传播 1.引入Bus.js&#xff08;传递&#xff09;例如&#xff1a;A页面 2.引入Bus.js&#xff08;接收&#xff09;例如&#xff1a;B页面 3.路由组件设…

rocketMQ-Dashboard安装与部署

1、下载最新版本rocketMQ-Dashboard 下载地址&#xff1a;https://github.com/apache/rocketmq-dashboard 2、下载后解压&#xff0c;并用idea打开 3、修改配置 ①、修改端口及rocketmq服务的ip&#xff1a;port ②、修改访问账号、密码 3、然后启动访问&#xff1a; 4、mav…

WEB基础及HTTP协议概念

目录 一、http概述 1、http的相关概念名词 2、访问浏览器的过程 3、http 协议通信过程 4、扩展网络通信 二、http相关技术 1、web开发语言 2、URL 和 URN 3、URL的组成 4、MIME ​5、网站访问量 6、http协议版本及区别 7、http请求访问的七大过程 8、HTTP工作机制…

【数据结构题目讲解】洛谷P4219 大融合

P4219 大融合 D e s c r i p t i o n \mathrm{Description} Description 给定 1 1 1 棵 n n n 个节点的树&#xff0c;树的边是在操作中加入的&#xff0c;接下来有 m m m 次操作&#xff1a; 将 x x x 与 y y y 之间连一条边查询 x x x 与 y y y 之间这条边有多少条经…

Redis 缓存(Cache)

什么是缓存 缓存(cache)是计算机中的一个经典的概念在很多场景中都会涉及到。 核心思路就是把一些常用的数据放到触手可及(访问速度更快)的地方&#xff0c;方便随时读取。 这里所说的“触手可及”是个相对的概念 我们知道&#xff0c;对于硬件的访问速度来说&#xff0c;通常…

C++-带你初步走进继承(1)

1.继承的概念及定义 1.1继承的概念 继承 (inheritance) 机制是面向对象程序设计 使代码可以复用 的最重要的手段&#xff0c;它允许程序员在 保 持原有类特性的基础上进行扩展 &#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称派生类。继承 呈现了面向对象 …

前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 第十一章 基础界面开发 (组件封装和使用)

前言 Vue 是前端开发中非常常见的一种框架&#xff0c;它的易用性和灵活性使得它成为了很多开发者的首选。而在 Vue2 版本中&#xff0c;组件的开发也变得非常简单&#xff0c;但随着 Vue3 版本的发布&#xff0c;组件开发有了更多的特性和优化&#xff0c;为我们的业务开发带…

如何搭建一款论坛系统?简单介绍多功能论坛系统。

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 论坛系统简单介绍就是&#xff1a;跟微博类似的app系统&#xff0c;粉丝用户可以很好…

Web服务器基础

Web服务器基础 【一】前端概述 【1】HTML HTML&#xff08;超文本标记语言&#xff09;是用于创建网页结构的标记语言。它定义了网页的骨架&#xff0c;包括标题、段落、列表、链接等元素&#xff0c;但没有样式。可以将HTML视为网页的结构和内容的描述。 【2】CSS css&…

ARM体系在linux中的中断抢占

上一篇说到系统调用等异常通过向量el1_sync做处理&#xff0c;中断通过向量el1_irq做处理&#xff0c;然后gic的工作都是为中断处理服务&#xff0c;在rtos中&#xff0c;我们一般都会有中断嵌套和优先级反转的概念&#xff0c;但是在linux中&#xff0c;中断是否会被其他中断抢…

MybatisPlus创建时间不想用默认值

我们知道&#xff0c;MybatisPlus可以给一些字段设置默认值&#xff0c;比如创建时间&#xff0c;更新时间&#xff0c;分为插入时设置&#xff0c;和更新时设置。 常见的例子&#xff1a; /*** 创建时间*/ JsonFormat(shape JsonFormat.Shape.STRING, pattern"yyyy-MM…

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

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

【正点原子STM32连载】 第五十二章 串口IAP实验 摘自【正点原子】APM32E103最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子APM32E103最小系统板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/docs/boards/xiaoxitongban 第五…

探索编程世界的电影之旅

前言 计算机科学是一个充满创意和无限可能性的领域&#xff0c;而一些精彩的电影作品能够引导我们深入这个令人着迷的编程世界。在这部电影之旅中&#xff0c;我们将一同穿越虚拟世界、探索创业之路、追随时间的脚步&#xff0c;感受计算机科学的奇妙之处。 1. 《黑客帝国》 …

2024 斯坦福提供的10门免费在线课程

看到下面这些免费的课程&#xff0c;那些割韭菜的人良心不会痛嘛&#xff1f; 希望看到这篇文章的朋友们秉持开源精神&#xff0c;互助精神&#xff0c;不割韭菜。 建了一个AI交流社区&#xff0c;欢迎加入。 高质量AI社群&#xff0c;大咖云集&#xff0c;免费开放7天 计算…

unity学习(28)——登录功能

有之前注册的知识&#xff0c;登录就很容易处理了。 登陆成功返回id&#xff1a; 登录失败返回null&#xff1a; 测试同一账号不能重复登陆&#xff01;登录成功后最好可以跳到新的场景中 结果是好的&#xff0c;去服务器看一下对应部分的代码&#xff0c;可见&#xff0c;登…

浏览器,前端发版后你依旧看的是旧内容?缓存清除

浏览器页面缓存&#xff0c;需要硬性加载。硬性加载只能在f12或检查模式使用。 然后右键点击刷新

【MySQL初阶】索引

1. 索引基本概念 1.1 索引介绍 索引(index)&#xff1a;是一种特殊的文件&#xff0c;包含着对数据表里所有记录的引用指针。可以对表中的一列或者多列创建索引&#xff0c;并指定索引的类型&#xff0c;各类索引有各自的数据结构实现。&#xff08;具体细节在MySQL进阶章节详…

提取游戏音频文件.bnk

提取游戏音频文件.bnk 什么是.bnk准备Wwise-Unpacker工具使用Wwise-Unpacker工具总结 什么是.bnk .bnk其实是一种对音频的加密方式&#xff0c;一个.bnk文件中通常包含了多个语音文件&#xff0c;一般可以使用Wwise-Unpacker来解码.bnk格式文件 准备Wwise-Unpacker工具 Wwis…

威尔金森功分器基本原理学习笔记

威尔金森功分器基本原理 威尔金森功率分配器的功能是将输入信号等分或不等分的分配到各个输出端口&#xff0c;并保持相同输出相位。环形器虽然有类似功能&#xff0c;但威尔金森功率分配器在应用上具有更宽的带宽。微带形功分器的电路结构如图所示&#xff0c;其中&#xff0…