Maven的课堂笔记1
1 什么是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 创建资源库
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 文件
4 使用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的更多相关文章
- Maven的课堂笔记4
9.Maven与MyEclipse2014结合 MyEclipse10以上的版本,对Maven支持的就比较好 9.2 Myeclipse配置 本地文件夹的C盘的.m2文件夹下必须得有这个setting ...
- Maven的课堂笔记3
8 仓库管理 仓库可以分为三种:1.本地仓库(本机).2.私服(公司局域网内的maven服务器).3.中央仓库(互联上,例如 struts2官网,或者hibernate官网) 可以根据maven坐标定 ...
- Maven的课堂笔记2
5 maven的核心概念 5.1 项目对象模型 说明: maven根据pom.xml文件,把它转化成项目对象模型(POM),这个时候要解析依赖关系,然后去相对应的maven库中查找到依赖的jar包. ...
- 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记
前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode ...
- 九章算法系列(#5 Linked List)-课堂笔记
前言 又是很长时间才回来发一篇博客,前一个月确实因为杂七杂八的事情影响了很多,现在还是到了大火燃眉毛的时候了,也应该开始继续整理一下算法的思路了.Linked List大家应该是特别熟悉不过的了,因为 ...
- 九章算法系列(#4 Dynamic Programming)-课堂笔记
前言 时隔这么久才发了这篇早在三周前就应该发出来的课堂笔记,由于懒癌犯了,加上各种原因,实在是应该反思.好多课堂上老师说的重要的东西可能细节上有一些急记不住了,但是幸好做了一些笔记,还能够让自己回想起 ...
- 九章算法系列(#2 Binary Search)-课堂笔记
前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一 ...
- ocp11g培训内部教材_052课堂笔记(042)_体系架构
OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. ...
- ocp11g培训内部教材_051课堂笔记(047)_SQL
OCP 051课堂笔记 目录 OCP 051课堂笔记... 1 第一章.Oracle命令类别:... 4 第二章.SQL的基本函数... 4 2.1 单行函数与多行函数... 4 2.2 单行函数的几 ...
随机推荐
- 寒假训练——搜索 E - Bloxorz I
Little Tom loves playing games. One day he downloads a little computer game called 'Bloxorz' which m ...
- python第五十三课——time模块
1.time.datatime.calendar模块的引入讲解(重视) Unix时间戳(timestamp):返回的是数值类型数据(float值), 概念:记录了从1970年00点00分00秒至今的秒 ...
- 说明split()与join()函数的区别?
前者是切割成数组的形式,后者是将数组转换成字符串join函数获取一批字符串,然后用分隔符字符串将它们连接起来,从而返回一个字符串.Split函数获取一个字符串,然后再分隔符处将其断开,从而返回一批字符 ...
- 利用 ProtoThreads实现Arduino多线程处理(2)
转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 感谢小V分享给大家的博文. 我在做产品设计的课题的时候,小五义推荐我使用Protothrea ...
- Nginx-PHP优化设置 + lnmp调优的关键影响因素 + php-fpm + nginx返回码 + tcp调优 + 最大文件描述符
https://www.cnblogs.com/zengkefu/p/5602473.html最大文件描述符 https://blog.csdn.net/fanren224/article/detai ...
- 每个大主播都是满屏弹幕,怎么做到的?Python实战无限刷弹幕!
anmu 是一个开源的直播平台弹幕接口,使用他没什么基础的你也可以轻松的操作各平台弹幕.使用不到三十行代码,你就可以使用Python基于弹幕进一步开发.支持斗鱼.熊猫.战旗.全民.Bilibili多平 ...
- CF258D Little Elephant and Broken Sorting/AGC030D Inversion Sum 期望、DP
传送门--Codeforces 传送门--Atcoder 考虑逆序对的产生条件,是存在两个数\(i,j\)满足\(i < j,a_i > a_j\) 故设\(dp_{i,j}\)表示\(a ...
- 创建一个宽高成比例的弹性div盒子
这里先提供一种,有更好的方法再补充. demo代码如下: <!DOCTYPE html> <html lang="en"> <head> < ...
- ASP.NET Web API上实现 Web Socket - 转
1. 什么是Web Socket Web Socket是Html5中引入的通信机制,它为浏览器与后台服务器之间提供了基于TCP的全双工的通信通道.用以替代以往的LongPooling等comet st ...
- Flask源码解读--所有可扩展点
一.前言 flask中有很多可扩展点(笔者这样称呼),其中包含了信号和请求钩子,这些信号和钩子有什么用呢?其主要作用用于帮助我们进行程序的耦合性,当然还可以让我们自定义一些行为.话不多说,通过阅读源码 ...
