Maven-项目管理(一)_认识Maven
Maven是什么?
Maven是Apache下的项目管理工具,它由纯Java语言开发,可以帮助我们更方便的管理和构建Java项目。
为什么要使用Maven?
1、 jar包管理:
a) 从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错误的jar包;
b) 本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。
2、 maven是跨平台的可以在window、linux上使用。
3、 清晰的项目结构;
4、 多工程开发,将模块拆分成若干工程,利于团队协作开发。
5、 一键构建项目:使用命令可以对项目进行一键构建,操作系统中无需安装eclipse和tomcat。
Learn
一、Maven的获取地址
二、 Maven的优点:
三、 Maven常用命令:
四、Maven命令的生命周期:
一、Maven的获取地址: 点我
1、 下载、安装、配置环境变量Maven;
a) http://maven.apache.org/download.cgi
b) 安装JDK 1.8;
c) 配置环境变量;
i.win + r 打开运行窗口 或者 进入cmd命令窗口;
ii.输入sysdm.cpl打开系统属性 -> 高级 -> 环境变量;
iii.新建系统变量,变量名:MAVEN_HOME,变量值:Maven安装路径;
iii.在Path下追加一条属性指向Maven的bin目录 %MAVEN_HOME%/bin
二、 Maven的优点:
a) jar包管理:依赖管理
i.从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错误的jar包;
ii.本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。

(Maven项目获取jar包的方式)
iii.Maven项目通过坐标的方式从本地仓库获取jar包;
1.坐标:由公司/组织名(groupId) + 项目名/子项目名(artifactId) + 版本号(version)组成;
2.本地仓库:存放很多jar包,供Maven项目使用;
3.Maven通过建立本地仓库索引,可以快速的找到符合要求的jar包,从而解决效率问题;
4.多个Maven项目都可以从本地仓库获取jar包;
5.设置本地仓库:maven根目录 -> conf -> settings.xml,将localRepository标签中的路径替换成自己本地仓库的路径;

iv.Maven三种仓库概念:本地仓库、远程仓库、中央仓库

(Maven三种仓库概念)中央仓库地址
v.设置阿里云Maven仓库镜像:
1.在settings.xml文件中的mirrors下添加mirror标签;
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

b) maven由纯Java语言开发,是跨平台的可以在window、linux、mac上使用。
c) 清晰的项目结构;
d) 使用Maven将大型项目按照模块拆分成若干工程,不同的团队维护各自的工程,可大大的提升开发效率;
i.大型商城项目按业务分成商品管理、用户管理、订单管理等等模块。

ii.中小型项目按照传统项目分为Web、Service、Dao层,依照员工自身的业务能力分配工作。

e) 一键构建项目:使用命令可以对项目进行一键构建,操作系统中无需安装eclipse和tomcat。
三、 Maven常用命令:
启动Maven项目命令:mvn tomcat:run
在Maven项目下输入tomcat:run:一键构建项目;


a) clean: 清理,编译后的目录;
b) compile: 编译,只编译main目录,不编译test中的代码;
c) test-compile:编译test目录中的代码;
d) test: 运行test里边的代码;
e) package: 打包
1.java项目->打成jar包;
2.web项目->打成war包;
f) install:发布项目到本地仓库,用在打jar包上,打成jar包可以被其他项目使用;
g) tomcat:run:一键构建项目;
四、Maven命令的生命周期:
a) Clean 生命周期:clean;
b) Default 生命周期:compile、test-compile、test、package、install
c) Site 生命周期:site命令,生成项目描述文档静态页;
i.mvn-site命令执行完成后可以进入target->size->index.html
d) 不同的生命周期可以一起执行,例如先clean 再compile;

五、Maven命令的执行顺序:
a) 在相同生命周期中的命令才会受执行顺序的影响;
b) Default生命周期中的命令执行顺序:
compile <- test-compile <- test <- package <- install;
Maven-项目管理(一)_认识Maven的更多相关文章
- maven实战(01)_搭建开发环境
一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...
- maven项目管理利器
一.maven介绍及环境搭建 maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建.报告和文档的软件项目管理工具. maven可以更有效的管理项目,也是一套功能强大的自动化管 ...
- Eclipse下安装及配置maven项目管理工具
①eclipse下maven插件安装. 本地maven安装.环境变量配置完成后,打开eclipse,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven ...
- maven(项目管理工具系列 maven 总结二)
♣maven是什么? ♣maven下载.安装 ♣了解maven仓库 ♣eclipse配置maven ♣创建maven项目 ♣把maven项目转化为web项目 1.maven是什么? Maven是一个项 ...
- Maven 项目管理工具基础知识系列(一)
一.Maven 简介 Maven 中文意为 " 内行.专家 ",是 Apache 下的一个开源项目,属于纯 Java 开发,并且只是用来管理 Java项目的,它是一款项目管理工具, ...
- Maven 项目管理工具基础入门系列(二)
一.前言 在 Maven 项目管理工具基础知识系列(一) 这篇文章中,我们已经初步了解了 Maven,也知道了使用 Maven 作为项目管理工具的好处,特别是已经知道如何快速通过 Maven 构建 W ...
- Maven项目管理工具
Maven项目管理工具 白面郎君 Svn eclipse maven量级 1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目 ...
- 【转】【项目管理与构建】Maven
在现实的企业中,以低成本.高效率.高质量的完成项目,不仅仅需要技术大牛,企业更加需要管理大牛,管理者只懂技术是远远不够的.当然,管理可以说有很多的方面,例如:对人员的管理,也有对项目的管理等等.如果你 ...
- 复习宝典之Maven项目管理
查看更多宝典,请点击<金三银四,你的专属面试宝典> 第二章:Maven项目管理 Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配 ...
- Maven 项目管理 —— 安装与配置
Maven 是一种全新的项目构建方式,基于项目对象模型(POM,Project Object Model)的思想,Maven 可以管理项目的整个生命周期,包括编译.构建(build).测试.发布以及报 ...
随机推荐
- 树莓派安装SSH
1. 安装ssh sudo apt-get install openssh-server 2. 检查树莓派SSH服务是否开启 ps -e|grep ssh 3. SSH服务开启 sudo /etc/i ...
- spring-cloud 学习一 介绍
微服务Microservice,跟之相对应的是将功能从开发到交付都打包成一个很大的服务单元,一般称之为Monolith,也称「巨石」架构.微服务实现和实施思路更强调功能单一,服务单元小型化和微型化,倡 ...
- luogu题解P2312解方程--暴力模+秦九韶
题目链接 https://www.luogu.org/problemnew/show/P2312 分析 这道题很毒啊,这么大的数. 但是如果多项式\(\sum_{i=0}^N a[i]*X^i=0\) ...
- json字符串对象
1.将字符串转为json对象:JSON.parse(); 2.json对象转字符串:JSON.stringify(); <!DOCTYPE html> <html> <h ...
- 关于MVC与MVP的理解
1. MVC的理解误区 理解误区: 1. 认为Model是指失血模型的实体类(Entity),是作为View和Controller之间的传输数据. 2. 把业务逻辑全部放在Controller端,认为 ...
- python视频学习笔记6(名片管理系统开发)
cards_main.py主函数 cards_tools.py -------------------------------------------------------------------- ...
- 3.Struts2-Result
注: 1.在struts.xml文件中使用include标签 可以将另外一个xml文件包含进struts.xml文件中,如: <struts> <constant name=&quo ...
- GitLab端口冲突 解决办法
访问gitlab,出现:502 GitLab在使用的过程中,会开启80端口,如果80端口被其他的应用程序占用,则GitLab的该项服务不能使用,所以访问GitLab会失败.大多数皆是此问题. ...
- 实现用一个QueryService支持多数据库访问
上图,是在服务端定义多个数据库,准备在客户端通过“联接名称”及“客户端服务名称”访问这些数据库. 基于实现的MultiDBQueryService,将其注册为一个指定客户端服务名称的服务,如下图: 这 ...
- JavaJDBC【三、增删改查】
获取数据库连接后,可进行增删改查操作 语句生成: Statement s = con.createStatement(sql); //生成语句 PreparedStatement ps = (Prep ...