maven-标准目录结构

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

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

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

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

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

  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包(war包或其它形式的包)布署到本地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、testCompile、test、jar(打包)、install、deploy等9个阶段

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

maven-生命周期

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

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

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

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

maven-概念模型图

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

项目对象模型 (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 管理项目生命周期过程都是基于插件完成的。

最新文章

  1. IntelliJ IDEA上创建maven Spring MVC项目
  2. CentOS 7.2 yum方式安装MySQL 5.7
  3. Ajax聊天
  4. flask表单提交的两种方式
  5. Only Link: Reading links for button/a etc
  6. docker confluence
  7. c#中如何不通过后台直接用js筛选gridview中的数据条件筛选查询?
  8. redis setnx 分布式锁
  9. C++多态分析(polymorphisn)
  10. php的冒泡算法
  11. python学习之路-3 初始python数据类型以及文件操作
  12. bootstrap之noConflict的详解
  13. kvm and virtualbox running side by side
  14. mockjs,json-server一起搭建前端通用的数据模拟框架
  15. 软件测试实验四----mujava变异测试
  16. linux 下crontab -e 命令插入及保存
  17. 解决Lost connection to MySQL server during query错误方法
  18. Linux查找文件、文件夹
  19. 2015 年度新增开源软件排名 TOP 100 - 开源中国社区
  20. IE 10 如何设置支持CRM4 正常浏览

热门文章

  1. 关闭Mac的Microsoft AutoUpdate弹框提示
  2. MariaDB 搭建主备及主主
  3. ubuntu18.04 安装 opencv(版本4.5.5) cmake(版本3.25)
  4. [iOS] 随手记录 IDFA 的一些相关内容
  5. 浅谈AD域
  6. (0514)python学习-思维导图
  7. Java包机制 与Javados 命令
  8. C# 数据结构之嵌套加法、嵌套乘法
  9. 在wsl 2中编译自己的魔趣(mokee) ROM
  10. 小程序Excel导入导出数据库功能