maven常用知识点

1,简介

mvn install 就可以自动执行编译,测试,打包,再将我们的jar包安装到仓库中

mvn compile src/main下的java文件进行编译

mvn test 会先编译项目,再执行测试代码

mvn package 将项目打成一个jar包放到target目录中

mvn clean 将项目生成的编译文件清除掉

@Test注解加入后会,标注该方法,执行mvn testmaven packagemvn install时都会执行该方法

Maven目录结构中src/main/java下放包,java文件,src/test/java下放包,java文件

Pom.xml4个要素,再project标签中,加入<modelVersion>4.0.0</modelVersion>

<groupId>com.jdtc.www(组织标识)</groupId><artifactedId>raptor-api项目标识</artifactedId>

<version>snapshot-0.0.1</version>

添加依赖

2,利用maven构建javaweb项目

quickstart换成webapp即可生成web项目骨架

     mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

3,maven核心概念

坐标

利用groupIdartifactedId,version可以确定引用哪个maven

依赖管理

pom中配置上面三个,即可完成引用,再配置scope标签即可确定什么时候引用,compile编译测试运行都可用,test仅测试可用,provided,编译测试有效,运行使用无效;runtime仅运行时有效。传递性依赖指的时a依赖bb依赖c,那么a也依赖c

仓库

本地仓库,远程仓库(私服,mavenCentral-apache-其他远程仓库)

三大生命周期

Clean lifecycle再进行构建前,进行一些清理工作

Default lifecycle 构建的核心部分,编译,测试,打包,部署

Site lifecycle 生成项目报告,站点,发布站点

一个clean周期分为三个阶段,分别是pre-cleancleanpost-clean,我们执行的mvn clean其实就是刚刚的clean,它其实执行了mvn pre- clean clean

一个site周期分为三个阶段,生成项目站点文档,执行一些生成站点文档之后完成的工作,为部署做准备,将生成的站点文档部署到特定服务器上。

插件

  1. Maven的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的。
  2. 每个插件都能实现多个功能,每个功能就是一个插件目标。

Maven的生命周期与插件目标相互绑定,以完成某个具体的构建任务,例如compile就是插件maven-compiler-plugin的一个插件目标。

4,聚合与继承

maven的聚合与继承,两者是完全不同的两个关系,只是通常把他们组合使用,聚合项目包含很多子项目,他们的目录关系是可以并列也可以包含的。

聚合项目在其pom中配置modules标签,然后标签中填入被聚合的项目,这样方便控制多个子项目?

被聚合的项目并不知道自己被聚合!

继承,父项目并不知道他是被谁继承了,每个子项目都要做出声明,声明继承了哪个父项目

5,常见标签含义

Properties标签中的可以在其他地方,利用${标签名}直接调用

Parent标签就是声明继承哪个父项目,里面需要填入groupId,version,那么子项目就可以仅需有artifactedId就可以了

Dependencies的依赖项全部被子项目继承

dependencyManagement的依赖项,不会被子项目继承,必须由子项目显式的声明,但其不用声明version,可以直接用父项目中该标签中定义的,若需用其他版本的,自行加入version即可

build可以控制编译时调用的资源和插件

profile标签配置了多个编译的设定,编译时指定相应的profile配置即可

猜你喜欢

转载自blog.csdn.net/u013577996/article/details/81742476