maven-操作总结

什么是Maven?

Maven 是一个项目管理工具。它负责管理项目开发过程中的几乎所有的东西,最强大的功能就是能够自动下载项目依赖库。

Maven的生命周期

maven把项目的构建划分为不同的生命周期(lifecycle)。粗略一点的话,它这个过程(phase)包括:编译、测试、打包、集成测试、验证、部署。maven中所有的执行动作(goal)都需要指明自己在这个过程中的执行位置,然后maven执行的时候,就依照过程的发展依次调用这些goal进行各种处理。

这个也是maven的一个基本调度机制。一般来说,位置稍后的过程都会依赖于之前的过程。当然,maven同样提供了配置文件,可以依照用户要求,跳过某些阶段。

Maven的标准工程结构

Maven的标准工程结构如下:

|-- pom.xml(maven的核心配置文件)

|-- src

|-- main

|  – java(java源代码目录)

|    – resources(资源文件目录)

|-- test

  – java(单元测试代码目录)

|-- target(输出目录,所有的输出物都存放在这个目录下)

  --classes(编译后的class文件存放处)

Maven基本命令

  1. v:查询Maven版本
    本命令用于检查maven是否安装成功。Maven安装完成之后,在命令行输入mvn -v,若出现maven信息,则说明安装成功。
  2. compile:编译
    将java源文件编译成class文件
  3. test:测试项目
    执行test目录下的测试用例
  4. package:打包
    将项目打成jar包
  5. clean:删除target文件夹
  6. install:安装
    将当前项目放到Maven的本地仓库中。供其他项目使用

什么是Maven仓库?

Maven仓库用来存放Maven管理的所有Jar包。分为:本地仓库 和 中央仓库。

本地仓库:Maven本地的Jar包仓库。
中央仓库: Maven官方提供的远程仓库。
当项目编译时,Maven首先从本地仓库中寻找项目所需的Jar包,若本地仓库没有,再到Maven的中央仓库下载所需Jar包。

Maven的版本规范

在Maven中,坐标是Jar包的唯一标识,Maven通过坐标在仓库中找到项目所需的Jar包。

  • groupId:所需Jar包的项目名
  • artifactId:所需Jar包的模块名
  • version:所需Jar包的版本号

groudId
团体、组织的标识符。团体标识的约定是,它以创建这个项目的组织名称的逆向域名(reverse domain name)开头。一般对应着JAVA的包的结构。例如org.apache

artifactId
单独项目的唯一标识符。比如我们的tomcat, commons等。不要在artifactId中包含点号(.)。

version
一个项目的特定版本。

packaging
项目的类型,默认是jar,描述了项目打包后的输出。类型为jar的项目产生一个JAR文件,类型为war的项目产生一个web应用。

maven有自己的版本规范,一般是如下定义 ..- ,比如1.2.3-beta-01。要说明的是,maven自己判断版本的算法是major,minor,incremental部分用数字比较,qualifier部分用字符串比较,所以要小心 alpha-2和alpha-15的比较关系,最好用 alpha-02的格式。

maven在版本管理时候可以使用几个特殊的字符串 SNAPSHOT,LATEST,RELEASE。比如"1.0-SNAPSHOT"。各个部分的含义和处理逻辑如下说明:

SNAPSHOT
这个版本一般用于开发过程中,表示不稳定的版本。

LATEST
指某个特定构件的最新发布,这个发布可能是一个发布版,也可能是一个snapshot版,具体看哪个时间最后。

RELEASE
指最后一个发布版。

依赖范围scope

在项目发布过程中,帮助决定哪些构件被包括进来。欲知详情请参考依赖机制。

  • compile :默认范围,用于编译
  • provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath
  • runtime: 在执行时需要使用
  • test: 用于test任务时使用
  • system: 需要外在提供相应的元素。通过systemPath来取得
  • systemPath: 仅用于范围为system。提供相应的路径
  • optional: 当项目自身被依赖时,标注依赖是否传递。用于连续依赖时使用

聚合项目

什么是聚合?
将多个项目同时运行就称为聚合。
如何实现聚合?
创建Maven项目时选择打包为pom,后续子项目则选择module来创建即可。
什么是继承?
在聚合多个项目时,如果这些被聚合的项目中需要引入相同的Jar,那么可以将这些Jar写入父pom中,各个子项目继承该pom即可。
如何实现继承?
父pom配置:将需要继承的Jar包的坐标放入标签即可。

eclipse、idea中的使用

这两个软件都自带有maven,我们可以直接使用,另外我们也能下载最新的maven,然后配置我们自己的maven本地库。我们还可以在http://mvnrepository.com/站点搜寻你想要的jar包或者对应的pom文件的依赖格式。

如何在eclipse、idea中运行

1.配置tomcat,然后选择run as server。或者使用maven build命令,输入 tomcat:run命令来运行,但是需要插件配合。
2.打包后放入tomcat运行。

maven 打包以及更新版本

普通项目 clean package
聚合项目 父项目直接 clean package,跳过test
更新版本 使用versions:set -DnewVersion=x.x.x-SNATHOST

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值