maven 提供了固定的项目结构,更加容易导入依赖(只需要在pom.xml文件中配置)

 

依赖管理

  • groupId 类似于Java的包名,通常是公司或组织名称
  • artifactId 类似于Java的类名,通常是项目名称
  • version 版本号

一个Maven工程就是由groupIdartifactIdversion作为唯一标识。我们在引用其他第三方库的时候,也是通过这3个变量确定,如下

<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
</dependency>

使用<dependency>声明一个依赖后,Maven就会自动下载这个依赖包并把它放到classpath中

如果项目依赖 abc,abc又依赖fe,我们只需要 配置依赖abc jar包即可,maven会自动把依赖的fe jar包导入

maven下载过jar包之后,会永久安全的存在本地缓存中,不用每次都加载

搜索第三方组件:https://search.maven.org/,在这个网址搜索的组件 可以获取到 groupIdartifactIdversion,如下搜索 log4j

 


 

maven构建流程

几个术语:lifecycle、phase、goal

lifecycle:maven的生命周期

phase:maven生命周期的各个阶段,如 validate、initialize、compile、test、package、verify、install等等

 

goal:执行一个phase又会触发一个或多个goal

概括:

lifecycle相当于Java的package,它包含一个或多个phase;

phase相当于Java的class,它包含一个或多个goal;

goal相当于class的method,它其实才是真正干活的

大多数情况,我们只要指定phase,就默认执行这些phase默认绑定的goal,只有少数情况,我们可以直接指定运行一个goal,例如,启动Tomcat服务器:mvn tomcat:run


 

 posted on 2021-05-07 11:22  Lverson_tester  阅读(109)  评论(0编辑  收藏  举报