什么是maven?

Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。

Clean  compile  test  package  install   run

1.1 管理项目jar包

1.2 聚合项目(分布式开发)

1.3 继承(依赖传递)

 

2. Maven安装环境搭建

2.1 从官网下载maven的压缩包

http://maven.apache.org/官网上下载最新版本的maven

2.2 本地安装jdk

要求版本是1.7以上,  步骤略

2.3 解压压缩包

2.4 移动压缩包内容

在E盘新创建一个maven目录,把内容添加到目录中

2.5 配置环境变量,设置path路径

2.6 检测环境是否配置成功

打开doc窗口,输入命令   mvn -v

创建资源库

3.1 原理

开发场景:我们有多个项目,SSH架构的项目,SSM架构的项目或者是SSI架构的项目,都得用到好多的jar包,我们如果每一个项目都去复制一份jar包去放到项目中的lib目录下,工作量会比较大,以下是Maven原理

3.2 配置资源库位置

Maven默认的资源库的位置,是在C:\Users\Administrator\.m2

把这个settings.xml文件copy到C:\Users\Administrator\.m2

3.3创建一个资源库文件地址

在E盘创建一个mavenWork文件夹,把资源文件copy到这个文件夹下

3.4 资源库内容

存放开发项目时候需要的jar包

3.5 修改settings.xml文件

让maven工程指向这个E盘的资源库的位置

修改C:\Users\Administrator\.m2,位置下的settings.xml文件

3.6 Maven的配置

说明:

bin中存放可执行的二进制文件

conf存放settings.xml文件 可以修改资源库的存放位置

lib  运行maven所依赖的jar包

3.7 maven的约定

Maven是一个项目管理工具,你必须在创建项目的时候得依照maven规定的项目目录,去创建项目.

src/main/java      存放项目的java文件

src/main/resources  存放项目的资源文件,如spring,hibernate的配置文件

src/test/java       存放所有的测试的java文件

src/test/resources   存放测试用的资源文件

target            项目输出位置

pom.xml  文件

使用eclipse创建一个maven项目

4.1 创建java项目

4.2 修改项目的目录

4.3 修改pom文件

<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.bw</groupId> <artifactId>CCTV1</artifactId> <version>0.0.1-SNAPSHOT</version> </project>

4.4 创建CCTV1.java

4.5 使用maven命令编译项目

进入到这个项目的目录

D:\13workS\CCTV1

4.6 执行编译命令  mvn  compile

4.7 刷新myeclipse下的CCTV1项目,查看项目的目录

4.8 执行mvn test

4.9 执行mvn clean命令

清空项目中,target文件夹中编译好的class文件

4.10 执行mvn package命令

把项目打包成为jar包

4.11执行Maven install命令

把项目打包成为jar包,并且安装到了资源库中

4.12 执行mvn clean install命令

先清空,再打包

4.13 总结

以上,mvn clean、mvn compile、mvn test、mvn package 等命令的执行就是Maven的一个生命周期

查看报告在maven项目中的文件里

Maven的课堂笔记1的更多相关文章

  1. Maven的课堂笔记4

    9.Maven与MyEclipse2014结合 MyEclipse10以上的版本,对Maven支持的就比较好 9.2 Myeclipse配置 本地文件夹的C盘的.m2文件夹下必须得有这个setting ...

  2. Maven的课堂笔记3

    8 仓库管理 仓库可以分为三种:1.本地仓库(本机).2.私服(公司局域网内的maven服务器).3.中央仓库(互联上,例如 struts2官网,或者hibernate官网) 可以根据maven坐标定 ...

  3. Maven的课堂笔记2

    5 maven的核心概念 5.1 项目对象模型 说明: maven根据pom.xml文件,把它转化成项目对象模型(POM),这个时候要解析依赖关系,然后去相对应的maven库中查找到依赖的jar包. ...

  4. 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记

    前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode ...

  5. 九章算法系列(#5 Linked List)-课堂笔记

    前言 又是很长时间才回来发一篇博客,前一个月确实因为杂七杂八的事情影响了很多,现在还是到了大火燃眉毛的时候了,也应该开始继续整理一下算法的思路了.Linked List大家应该是特别熟悉不过的了,因为 ...

  6. 九章算法系列(#4 Dynamic Programming)-课堂笔记

    前言 时隔这么久才发了这篇早在三周前就应该发出来的课堂笔记,由于懒癌犯了,加上各种原因,实在是应该反思.好多课堂上老师说的重要的东西可能细节上有一些急记不住了,但是幸好做了一些笔记,还能够让自己回想起 ...

  7. 九章算法系列(#2 Binary Search)-课堂笔记

    前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一 ...

  8. ocp11g培训内部教材_052课堂笔记(042)_体系架构

    OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. ...

  9. ocp11g培训内部教材_051课堂笔记(047)_SQL

    OCP 051课堂笔记 目录 OCP 051课堂笔记... 1 第一章.Oracle命令类别:... 4 第二章.SQL的基本函数... 4 2.1 单行函数与多行函数... 4 2.2 单行函数的几 ...

随机推荐

  1. vue_表单控件

    Vue.js中提供 v-model 的指令对表单元素进行双向数据绑定,在修改表单元素值的同时,实例 vm 中对应的属性值也同时更新,反之亦然.本小节介绍主要input元素绑定v-model 后的具体用 ...

  2. 如何用jquery实现实时监控浏览器宽度

    如何用jquery实现实时监控浏览器宽度 2013-06-05 14:36匿名 | 浏览 3121 次 $(window).width();这代码只能获取浏览器刷新时的那一刻的宽度,如何才能达到实时获 ...

  3. CF895C: Square Subsets && 【BZOJ2844】albus就是要第一个出场

    CF895C: Square Subsets && [BZOJ2844]albus就是要第一个出场 这两道题很类似,都是线性基的计数问题,解题的核心思想也一样. CF895C Squa ...

  4. Django view 视图

    request.method 判断请求方式 8种 GET : 获取一个页面 POST: 提交数据 PUT : 上传 HEAD: 不用上传就获取数据 DELETE: 删除 Request-URL 标识的 ...

  5. oracle11gR2 手工创建基于asm存储的oracle实例

    http://www.cnblogs.com/beanbee/archive/2012/09/22/2697689.html使用命令行手工建立Oracle11gR2数据库 通过命令行建立一个数据库可以 ...

  6. MYSQL中的int(11)到底代表什么意思?

    对于int类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的int(11)代表什么意思,很长时间以来我都以为这代表着限制int的长度为11位,直到有天看到篇文章才明白,11代表的并不是长 ...

  7. MATLAB的两种移位运算

    MATLAB的两种移位运算: 1)circshift矩阵移位 circshift:循环移位数组 语法:B = circshift(A,shiftize) 说明: B  = circshift(A,sh ...

  8. rc/rs的区别 -- 多层次分析

    1.rs是rc的升级版本,rs一般会结合deployment 2.rc的pod如果要配置镜像等内容,要修改后删除原来的rc再创建  命令式,影响业务比较大 3.rs一般配合deployment,可以动 ...

  9. Python内存优化:Profile,slots,compact dict

    实际项目中,pythoner更加关注的是Python的性能问题,之前也写过一篇文章<Python性能优化>介绍Python性能优化的一些方法.而本文,关注的是Python的内存优化,一般说 ...

  10. ASP.NET Core如何设置请求超时时间

    如果一个请求在ASP.NET Core中运行太久,会导致请求超时,目前ASP.NET Core对请求超时的设置比较麻烦,本文列出目前收集到的一些方法,供大家参考. 部署ASP.NET Core到IIS ...