maven(1)

  MAVEN

                

简介

Maven是Apache下的一个纯Java开发的开源项目,它包含了项目对象模型(POM - Project Object Model)依赖管理系统(Dependency Management System)、和用来运行定义在生命周期阶段中插件(Plugin)目标的逻辑。可以通过一小段描述信息来管理项目的构建、报告、文档的软件项目管理工具

常见的项目管理工具还有:Ant、Gradle等。

项目构建

项目构建是一个项目从创建到编码、测试、运行、打包、部署的全过程。

传统项目构建

1、创建项目。

2、在项目中编写源码增加配置以及第三方Jar文件等。

3、对源码进行编译。

4、测试(Junit)。

5、打包(war文件)部署至应用服务器(Tomcat)运行。

Maven项目构建

Maven将项目构建的过程进行标准化,每一个阶段使用一个或多个命令组合完成。


 

依赖管理

一个项目中需要用使用第三方Jar文件(例如SSM框架需要的Jar文件)才可运行,这些第三方Jar文件就是这个项目的依赖Jar文件。

传统项目的依赖管理

传统项目中的依赖管理完全靠人工进行,将Jar文件手动添加到项目中(WEB-INF/lib)。这样会导致没有对Jar文件的统一管理所产生的版本冲突Jar文件不好下载过多的Jar文件导致项目臃肿

Maven项目依赖管理

Maven项目管理所依赖的Jar文件不需要手动向项目内导入Jar文件,只需要在pom.xml(Maven项目的配置文件)中加入Jar文件的坐标Maven会自动的从Maven仓库中下载Jar文件并且控制Jar文件之间的依赖

Maven优点

1、Maven对项目的构建进行标准化、使用其相关命令即可完成构建过程。

2、通过在pom中定义坐标从而解决项目中的依赖管理

3、跨平台(Windows、Linux、Mac OS)

4、提高开发效率,降低项目的维护成本,且大型项目都采用Maven来构建项目。

下载/安装

官网地址:http://maven.apache.org/

版本:Maven3.3以后需要使用jdk7+,目前最新版本为3.5.0(3.4被官方跳过了)。

 

Windows安装

1、新增环境变量MAVEN_HOME=maven解压目录(bin目录的上层)。

2、在环境变量PATH增加%MAVEN_HOME%/bin

 

3、CMD中输入mvn -v 输出以下信息表示安装成功。

 

Eclipse集成Maven

 

 




 

 

 

 

仓库

Maven仓库是简单来说就是Jar文件和插件的仓库,按照所属位置的不同可以分为本地仓库、私服、远程仓库、中央仓库

本地仓库

用来存储从其它仓库中下载的插件和Jar文件,项目中使用到的插件或Jar文件优先从本地仓库中获得。

远程仓库

如果项目中所需的第三方依赖本地仓库没有,Maven会去远程仓库中寻找下载到本地仓库。远程仓库可以是互联网或局域网。

私服

私服就是公司自己搭建的远程仓库服务器即是公司内部的maven远程仓库。里面不光有第三方的插件和Jar文件,还包括了公司内部的Jar文件或插件

中央仓库

Maven官方维护的一个远程仓库,里面有非常全的依赖,它包含了世界上绝大部分的开源项目的组件。

Maven依赖流程图

 

当项目中需要依赖时,Maven首先会从本地仓库中获取。当本地仓库中没有时,Maven会根据配置去远程仓库(可以是私服)中获取。当远程仓库中也没有时会到Maven的中央仓库中获取。

Setting.xml

Maven通过Setting.xml文件来定义Maven的全局环境信息,我们可以通过这个文件来定义和管理MavenSetting文件一般存在于两个地方:安装目录下的conf内和${user.home}/.m2/内。前者是Maven的全局配置针对整个操作系统使用者生效、后者是用户个性配置。

Maven项目结构(重点)

 

Maven使用

Eclipse创建Maven项目(重点)

 


 

 

 

刚创建的WEB项目报错,是缺少web.xml自己补全即可。

依赖配置(重点)

Maven项目中添加项目依赖需要在POM.xml中配置依赖坐标

坐标

Maven定位依赖都是根据坐标在仓库中确定一个唯一的文件

坐标三要素

1、groupId:组织ID。

2、artifactId:项目名。

3、version:版本号。

定位规则(了解)

LocalPath(本地仓库位置)/groupId/artifactId/version/artifactId- version.packaging

POM

<dependencies>标签是Maven POM中的依赖管理标签

<dependency>标签内配置每个依赖的坐标

 




 

坐标网址:https://mvnrepository.com/

常见命令(了解)

1、编译命令:mvn compile

2、清理命令:mvn clean

3、测试命令:mvn test

4、打包命令:mvn package

5、安装命令:mvn install

6、运行tomcat:tomcat/tomcat7:run(tomcat7插件使用tomcat7:run)

Eclipse运行Maven命令(重点)

 


 

Maven命令创建项目(重点)

Java项目:

mvn archetype:generate -DgroupId=com.dj.demo -DartifactId=Maven_Java_demo01 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

 

WEB项目:

mvn archetype:generate -DgroupId=com.dj.demo -DartifactId=Maven_Java_demo01 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值