maven-标准目录结构、常用命令、生命周期、概念模型图

maven-标准目录结构

 

 作为一个maven工程,它的src目录和pom.xml是必备的,进入src目录后,我们发现它里面的目录结构如下:

 src/main/java ——存放项目的.java文件

src/main/resource——存放项目资源文件,如spring,hibernate配置文件

src/test/java——存放所有单元测试.java文件,如JUnit测试类

src/test/resource——测试资源文件

target——项目输出位置,编译后的class文件会输出到此目录

pom.xml——maven项目核心配置文件

注意:如果是普通的java项目,那么就没有webapp目录

maven-常用命令

1、maven clean:对项目进行清理,删除target目录下编译的内容

2、maven compile:编译项目源代码

3、maven test:对项目进行运行测试

4、maven packet:打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的class文件

5、maven install:在本地仓库生成仓库的安装包,可供其他项目引用,同时打包后的文件放到项目的target目录下

1、mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段

  package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(web包或其它形式的包)部署到本地maven仓库或远程maven私服仓库

2、mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段

  install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)部署到本地maven仓库,但没有部署到远程maven私服仓库

3、mvn clean deploy依次执行了clean、resources、compile、testResources、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段

  deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)部署到本地maven仓库和远程maven私服仓库

maven-生命周期

maven对项目构建过程分为三套相互独立的生命周期,请注意这里说的是"三套",而且"相互独立",这三套生命周期分别是:

  Clena Lifecycle在进行真正的构建之前进行一些清理工作。

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

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

 maven-概念模型图

Maven包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(gial)的逻辑

 项目对象模型(Project Object Model)一个maven工程都有一个pom.xml文件,通过pom.xml文件定义项目的坐标、项目依赖、项目信息、插件目标等

依赖管理系统(Dependency Management System)通过maven的依赖管理对项目所依赖的jar包进行统一管理。比如:项目依赖junit4.9,通过在pom.xml中定义junit4.9的依赖即使用junit4.9,如下所示是junit4.9的依赖定义

<dependencies>
  <!-- 此项目运行使用 junit,所以此项目依赖 junit -->
  <dependency>
    <!-- junit 的项目名称 -->
    <groupId>junit</groupId>
      <!-- junit 的模块名称 -->
      <artifactId>junit</artifactId>
      <!-- junit 版本 -->
      <version>4.9</version>
      <!-- 依赖范围:单元测试时使用 junit -->
    <scope>test</scope>
  </dependency>
</dependencies>

一个项目生命周期(Project Lifecycle)使用maven完成项目的构建,项目构建包括:清理、编译、测试、部署等等过程,maven将这些过程规范为一个生命周期,如下所示是声明周期的各个阶段

 maven通过执行一些简单命令即可实现上边生命周期的各个过程,比如执行mvn compile 执行编译、执行mvn clean执行清理。

  一组标准集合

    maven将整个项目管理过程第一一组标准,比如:通过maven构建工程有标准的目录结构,有标准的生命周期阶段、依赖管理有标准的坐标定义等。

  插件(plugin)目标(goal)

    maven管理项目生命周期过程都是基于插件完成的。

posted @ 2023-02-22 15:13  肥宅快乐水~  阅读(133)  评论(0)    收藏  举报