Maven常用命令、仓库分类、生命周期、依赖范围等说明

开发环境:

Windows 10 64位

jdk 1.8

eclipse mars2 (4.5.2)

1、Maven项目创建及环境配置

项目创建:

打开eclipse开发工具及选择工作空间,配置好maven工具,详细配置见 Maven安装及配置

2、Maven项目的一键构建

一般maven项目,往往都需要经历编译、测试、运行、打包、安装、部署等一系列的过程。

构建:

是指项目从编译、测试、运行、打包、安装、部署整个过程都交给 maven 进行管理,这个过程称为构建。

一键构建:

是指整个构建过程,使用 maven 一个命令可以轻松完成整个工作。

3、Maven仓库的分类

本地仓库:

当启动一个maven工程的时候,默认在系统盘找本地仓库。如果本地仓库没有所需要的jar文件,则会自动从中央仓库自动下载所需要的 jar 文件(电脑需要联网),如果电脑未联网则会出现错误。

远程仓库:也称作 “私服”

在公司里,为了在不联网的情况下 可以进行项目开发,也为了公司内部项目所需要的jar包可以放在一个统一的地方,会再创建一个仓库,这个仓库叫远程仓库。如果自己的电脑和远程仓库在同一个局域网内,那么就可以通过局域网从远程仓库下载jar包,假如远程仓库没有我们需要的jar包,那么远程仓库会直接从中央仓库下载jar包,远程仓库的jar包有一部分是从本地上传上来的,另一部分jar包是从中央仓库下载下来的。

中央仓库:

放置了几乎所有开源的jar

4、Maven生命周期

默认生命周期

编译(compile)、测试(test)、打包(package)、安装(install)、发布(deploy),当执行后面命令的时候,前面所有命令会自动执行一次。

清理生命周期

清理项目编译信息(clean),在真正编译项目之前,把之前编译的信息全部清除掉,也就是说我们真正开始对项目构建之前的准备工作。

站点生命周期

实际开发中不怎么使用,不需要了解。

5、Maven概念模型

项目对象模型(POM):

包含项目自身信息、项目运行所依赖的jar包信息、项目运行环境信息(比如:jdk、tomcat信息)

依赖管理模型(Dependency):

jar包依赖信息,包含公司组织的名称、项目名、版本号等

当启动一个maven工程的时候,默认在系统盘找本地仓库。如果本地仓库没有所需要的jar文件,则会自动从中央仓库自动下载所需要的 jar 文件(电脑需要联网)。在公司里,如果本地仓库没有所需要的jar文件,会从远程仓库(私服)中下载jar文件,如果远程仓库(私服)中也没有jar文件,则会自动从中央仓库自动下载所需要的 jar 文件。

6、Maven常用命令

Maven项目目录结构

然后系统文件夹展示的maven项目是这样的:

常用命令

 

clean 命令: 清理操作。将项目根目录的target目录清理掉。

实际上,执行清理操作,是把maven项目中的target目录内容全部删除,如下图:target目录已经不存在了。

 

compile 命令: 编译操作。将java源程序编译成class文件,生成target目录

 

test 命令:单元测试操作。执行src/test/java目录中的测试类中测试方法,测试类名以Test结尾。

package 命令:项目打包操作。 Web项目将打成war包,Java项目将打成jar包,将项目打包到根目录下的target目录中。

 

install 命令:安装操作。将项目打包(war包 或 jar包)到本地仓库。可以解决本地多项目公用一个jar包问题。

 

7、依赖范围

依赖范围scope 用来控制依赖和编译,测试,运行的classpath的关系。具体的依赖范围有如下6种:

  1. compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效

  2. test:测试依赖范围。只对于测试classpath有效

  3. provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api

  4. runtime:运行时提供。例如:jdbc驱动

  5. system:系统范围,自定义构件,指定systemPath;跟provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。

  6. import:只使用在<dependencyManagement>中,表示从其它的pom中导入dependency的配置。

注意:如果要使用tomcat目录中自带的jar包,必须将项目中依赖作用范围设置为:provided。例如:servlet-api,jsp-api

附上项目中添加servlet-api,jsp-api依赖截图:

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值