(一)Mybatis之初步接触
Maven的安装及环境配置
安装及配置只需按照以下三个链接的步骤走
撸帝的博客https://www.funtl.com/zh/maven/Maven-安装配置.html#本节视频
https://www.funtl.com/zh/maven/Maven-本地仓库.html
https://www.funtl.com/zh/maven/Maven-中央仓库.html#本节视频
Maven概述
总的来说,Maven是一个
项目管理
和综合工具
。Maven可以帮助开发人员按照标准在非常短的时间里完成配置工作,减少开发时间。
没有Maven之前
- 问题一:一个项目往往需要几十甚至上百个jar包,开发人员往往需要到处寻找jar包,然后再手动导包,可想而知这繁琐的过程会浪费多少时间,这还是在所有开发人员的jar包版本相同情况,否则还会导致开发过程出现版本不兼容的问题。
- 问题二:没有Maven以前,不同的开发人员的项目目录是不一样的。不同的程序员是有自己的项目目录格式的,项目目录格式的不统一会造成各种问题,比如兼容问题、查找困难等。而Maven提供了统一的项目目录格式,因此Maven开始流行。下图是Maven的标准项目目录格式。
Maven的基本功能
基于Maven来创建的项目,只需在Maven的核心配置文件
pom.xml
中写入各种jar包的依赖,就可以实现自动导入jar包,jar包的依赖可以重复使用。Maven有专门的储存jar的本地仓库
和远程仓库
,一个project配置依赖之后可以从本地仓库包获取jar包,当本地仓库不存在jar包时,pom中的配置自动在远程仓库
下载jar包。当然需要更新jar版本只需在pom.xml中更改版本号。
Maven的基本组件pom.xml
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lusifer</groupId>
<artifactId>project</artifactId>
<version>1.0.0</version>
</project>
- 节点描述
- groupId 这是项目组的编号,这在组织或项目中通常是独一无二的。
- artifactId 这是项目的 ID。这通常是项目的名称。
- version 这是项目的版本。
下为导入一个jar包的pom.xml,导入多个jar包只需在中加入对应的依赖,可以在https://mvnrepository.com 找到相应jar包的依赖
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.azuki</groupId>
<artifactId>azukishop</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-email -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.5</version>
</dependency>
</dependencies>
</project>
Maven 提供了以下方式给开发人员来管理pom.xml:
- Builds
- Documentation
- Reporting
- Dependencies
- SCMs
- Releases
- Distribution
- mailing list
SNAPSHOT版本
快照(SNAPSHOT)是一个特殊版本,指本项目处于未完善阶段,有这个版本号的项目每次项目的变更都会引起Maven远程仓库的同步。
Maven的其他功能
- 实际上Maven 是一个执行插件的框架,每一个任务实际上是由插件完成的。Maven 插件通常用于:
- 创建 jar 文件(就是将项目封装成jar包)
- 创建 war 文件(就是将项目封装成jar包)
- 编译代码文件
- 进行代码单元测试
- 创建项目文档
- 创建项目报告
一个插件通常提供了一组目标,可使用以下语法来执行:
mvn [plugin-name]:[goal-name]
例如,一个 Java 项目可以使用 Maven 编译器插件来编译目标,通过运行以下命令编译mvn compiler:compile
Maven 提供以下两种类型插件:
- 构建插件 在生成过程中执行,并在 pom.xml 中的 元素进行配置
- 报告插件 在网站生成期间执行,在 pom.xml 中的,元素进行配置
基于Maven的项目,在Maven Project栏目往往会有以下插件:
clean
插件 编译后的清理目标,删除目标目录compiler
插件 编译 Java 源文件surefile
插件 运行JUnit单元测试,创建测试报告jar
插件 从当前项目构建 JAR 文件war
插件 从当前项目构建 WAR 文件javadoc
插件 产生用于该项目的Javadocantrun
插件 从构建所述的任何阶段运行一组 Ant 任务
Terminal栏的基本命令
- 清除产生的项目
mvn clean
- 编译源代码
mvn compile
- 打包
mvn package
- 只打包不测试(跳过测试)
mvn -dmaven.test.skip=true
- 安装到本地仓库
mvn install
- 源码打包
mvn source:jar
或
mvn source:jar-no-fork
(一)Mybatis之初步接触的更多相关文章
- php大力力 [006节]初步接触认识phpMyAdmin
phpMyAdmin 2015-08-22 php大力力006. 初步接触认识phpMyAdmin 以下是phpAdmin网络截图: 这是通过MAMP一键安装的. php中MyAdmin的使用-猿代码 ...
- avalon - 初步接触
avalon - 初步接触 avalon的介绍http://rubylouvre.github.io/mvvm/ 按照作者的介绍,在HTML中添加绑定,在JS中用avalon.define定义View ...
- 初步接触CERNVM
初步接触的来源是对ROOT数据分析工具的搜索,看到一个叫做Life as a Physicist的国外博客.知道了这个包含容器分发的软件,跟重要的是,这个欧洲核子中心开发的平台,对于我等科研人员是一大 ...
- Spring boot -环境搭建 ,初步接触(1)
1. Eclipse 创建 maven project 项目目录如下: 2. pom.xml 配置文件 <project xmlns="http://maven.apache.or ...
- 为什么要使用puppet 及初步接触
为什么要使用puppet 及初步接触 1.简介 云计算环境下,密度高,机器数量多,还要求弹性和伸缩性,这对于运维提出更高的要求.系统管理员需要经常安装操作系统,对系统参数进行配置和优化,对人员进行 ...
- C#初步接触
如同非常多刚開始学习的人一样,刚接触C#的时候,也是一头雾水,学习了好长时间,都搞不清楚一些基本名称是什么.什么是C#?什么是.net?什么是visual studio?它们之间有什么关系?以下我们就 ...
- java 持久框架mybatis的初步学习
什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索.MyBati ...
- 初步接触html心得
接触HTML大概有七天,做一下小总结,过过记忆. html大致可分为三部分:Dtd头.Head.Body三大部分. Dtd头:是用于浏览器编辑的,也就是俗话说的给电脑看的的东西. Head:内细分下大 ...
- 实验记录一 初步接触cortex-M3
应该说老早就在接触cortex-M3了.曾经没想到会接触嵌入式,结果由于导师的缘故.在选择项目管理时,就呵呵了.不废话.搭配环境非常easy,纯粹傻瓜式.可由于自己的马虎,却让自己一直困惑. 记得在前 ...
随机推荐
- java上传文件,提交表单必须要设置enctype="multipart/form-data"
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码.默认情况,这个编码格式是application/x-www-form-urlenc ...
- iOS 摇一摇功能的实现
在 UIResponder中存在这么一套方法 - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_A ...
- FZU1977 Pandora adventure —— 插头DP
题目链接:https://vjudge.net/problem/FZU-1977 Problem 1977 Pandora adventure Accept: 597 Submit: 2199 ...
- MYSQL进阶学习笔记八:MySQL MyISAM的表锁!(视频序号:进阶_18-20)
知识点九:MySQL MyISAM表锁(共享读锁)(18) 为什么会有锁: 打个比方,我们到淘宝买一件商品,商品只有一件库存,这时候如果还有另外一个人也在买,那么如何解决是你买到还是另一个人买到的问题 ...
- dict built-in function
映射类型:字典 字典是无序的,映射类型对象里哈希值和被指向的对象是一对多的关系,字典中的键必须是可哈希的,所有不可变的类型都是可哈希的,另外针对数字键来说,值相等的两个数字是相同的键,例如1和1.0: ...
- hdu 4544 湫湫系列故事——消灭兔子(优先队列)
题意:n只兔子(有血量),m只箭(有伤害.花费),每只兔子只能被射一次,求射死所有兔子的最少花费. 思路:贪心,2重循环,兔子从血量高到低,箭从伤害高到低,用能射死兔子的箭中花费最小的箭射. #inc ...
- C#在一段数字区间内随机生成若干个互不相同的随机数
/// <summary> /// Random ra=new Random(); 系统自动选取当前时前作随机种子: /// Random ra=new Ra ...
- 高性能框架gevent和gunicorn在web上的应用及性能测试
WSGI Server有哪些: 比如 Flask,webpy,Django.CherryPy 都带着 WSGI server .当然性能都不好,自带的web server 更多的是测试用途, 发布时则 ...
- 多线程-threading模块3
超级播放器 #coding:utf-8 import threading from time import sleep,ctime #超级播放器 def super_player(file,time) ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 01. 创建项目 +项目结构和配置简介
新建项目:Tutotial.Web 解决方案名称可以把web去掉 视频里面把git这个选项勾选了.我就不勾选了 dotnet CLI创建项目 首先必须安装好了.net Core的SDK dotnet ...