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

maven-标准目录结构,常用命令,生命周期,概念模型图的更多相关文章

  1. Maven 标准目录结构

    Maven 标准目录结构 好的目录结构可以使开发人员更容易理解项目,为以后的维护工作也打下良好的基础.Maven2根据业界公认的最佳目录结构,为开发者提供了缺省的标准目录模板.Maven2的标准目录结 ...

  2. maven基础--下载安装配置命令生命周期

    maven apache 公司开源项目,项目构建工具 好处: 项目小 坐标:公司名称+项目名称+版本信息 通过坐标去 仓库查找jar包 maven的两大核心: *赖管理:对jar包管理过程. 项目构建 ...

  3. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第3节 maven标准目录结构和常用命令_07maven常用命令

    以给的hellowordl的的代码为例. src/main/java下,这是主业务逻辑代码 里面的内容只有一个jsp的跳转 测试包下: 里面很简单的就输出了一句话 复制项目的目录 先cd进入复制的这个 ...

  4. linux 目录结构+常用命令+压缩命令+vim使用+及基础知识

    linux目录架构 / 根目录 /bin 常用的命令 binary file 的目录 /boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内 /boot/grub/menu.lst ...

  5. Android MAVEN项目标准目录结构

    1.标准目录结构: src -main      –bin 脚本库      –java java源代码文件      –resources 资源库,会自动复制到classes目录里      –fi ...

  6. (转)Maven项目标准目录结构

    场景:工作中的项目都是使用Maven的目录结构,虽然能够如期的完成开发工作,但是对于一个Maven工程的配置却并不熟悉,这里主要介绍下Maven工程的而目录结构. 1 标准目录结构 src -main ...

  7. MAVEN项目标准目录结构 ;

    http://blog.csdn.net/lengyue_wy/article/details/6718637 版权声明:本文为博主原创文章,未经博主允许不得转载.    1.标准目录结构: src ...

  8. MAVEN项目标准目录结构(转)

    转自:http://blog.csdn.net/lengyue_wy/article/details/6718637 版权声明:本文为博主原创文章,未经博主允许不得转载.    1.标准目录结构: s ...

  9. Maven项目标准目录结构

    -----------------------siwuxie095 Maven 项目标准目录结构 1.Maven 项目分为两种 (1)Java 项目 (2)Web 项目 2.对于 Java 项目 其中 ...

  10. maven项目的标准目录结构

    maven项目的标准目录结构如下:

随机推荐

  1. vue、iview、VeeValidate 表单验证完整

    1.main.js (1).安装vee-validate npm install vee-validate --save (2).安装vue-i18n npm install vue-i18n --s ...

  2. JavaScript项目榜单

    JavaScript项目榜单 参考资料 2022年最受欢迎的JavaScript项目榜单出炉 Best of JS 正式公布 2022 年 JavaScript 明星项目榜单 该榜单提供了过去 12 ...

  3. for循环axios套axios调用,同步调取

    1.function getsdd(){}事件 async/await把异步进行设置成同步进行 var url = '/api/runtime/form/save'; function checkAd ...

  4. python打包生成exe报错

    如图所示    如果出现的是这个问题可以可以考虑以下方法 首先卸载原先下载的 Pyinstaller pip uninstall pyinstaller 再执行以下代码,去github上下载 pip ...

  5. 为开源项目贡献代码-pycharm使用git-登录注册功能分析-判断手机号存在接口-多种方式登录接口-腾讯云短信申请

    目录 为开源项目贡献代码-pycharm使用git-登录注册功能分析-判断手机号存在接口-多种方式登录接口-腾讯云短信申请 git内容大回顾 今日内容概要 今日内容详细 1 为开源项目贡献代码 2 p ...

  6. vue 3 引入 scss

    安装必要的依赖: 调用: 效果:

  7. Python学习笔记(五)if分支语句

    一.if语法 示例: 1 money = int(input('请输入余额:')) 2 if money >= 5: 3 print('买得起!') 4 5 if True: 6 print(' ...

  8. Neural Network模型复杂度之Dropout - Python实现

    背景介绍 Neural Network之模型复杂度主要取决于优化参数个数与参数变化范围. 优化参数个数可手动调节, 参数变化范围可通过正则化技术加以限制. 本文从优化参数个数出发, 以dropout技 ...

  9. sql语句查询优化

    SQL 性能优化 explain 中的 type:至少要达到 range 级别,要求是 ref 级别,如果可以是 consts 最好. consts:单表中最多只有一个匹配行(主键或者唯一索引),在优 ...

  10. TIDB-DM数据迁移第一部(安装部署)

    官方连接: https://docs.pingcap.com/zh/tidb/stable/dm-overview 架构: 1.安装DM download https://tiup-mirrors.p ...