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. Mac技术服务, 感谢 点赞打赏

    ​ 首先,非常感谢大家对我的支持和鼓励. 如果需要单独解决Mac问题,您也可以选择付费服务,感谢大家的理解与支持! * 普通问题/软件安装:10元--100元每个(根据具体问题由您而定): * 普通问 ...

  2. 【MySQL】MySQL时区问题、数据库时间相差8小时问题解决

    解决:修改MySQL系统时区,改为东8区. 在命令行界面或者可视化工具下(如:Navicat)依次运行以下命令. 1.查询当前系统时间 select now(); 2.检查MySQL系统时区 show ...

  3. Python爬虫抓取图片(re模块处理正则表达式)

    import os.path import re import requests if __name__ == '__main__': # 如果不存在该文件夹则进行创建 if not os.path. ...

  4. linux服务器连接数查询

    linux服务器环境检查 CPU.内存使用情况 查看系统整体执行情况 命令执行 # 查看当前系统正在执行的进程的相关信息,包括进程ID.内存占用率.CPU占用率等 top # 返回结果 # 14:06 ...

  5. Vue2 中keyup.enter触发问题!

    结合Element-UI开发的过程需求需要添加表单的默认Enter事件,但是当文本框或者元素没有获取焦点的时候回车事件未触发: 存在元素输入框修改语句:@keyup.native.enter 如果是f ...

  6. openGL 学习笔记 (一) 了解 OpenGL,创建第一个OpenGL窗口

    // 序章最开始我以为OpenGL是一系列的API,他给出了一系列对计算机图像的操作接口.但其实OpenGL其实并不是一个API,他是由khronos组织制定并维护的规范. 早期的OpenGL使用立即 ...

  7. OS复盘

    OS复盘 OS课设已经结课一段时间了,我也从其他课程中抽身出来,有了一段能够好好反思的时光. 说实话,完成OS课设的过程是很痛苦的,指导书蜻蜓点水.注释模棱两可.各种函数和文件调用杂乱无章.每次在完成 ...

  8. 解决Google翻译不能用的问题

    解决Google翻译不能用的问题   1.打开C:\Windows\System32\drivers\etc\hosts 2.在hosts后面加入 203.208.40.66 translate.go ...

  9. D3简介

    (一)D3简介 一.D3是什么 一张图片价值相当于一千个字 D3的全称是 Data-Driven Documents,直译为:数据驱动的文档 D3是一个javaScript的函数库,是用来做数据可视化 ...

  10. 阿里云ECS部署单机kafka 并对外提供服务(带认证)

    1. zk配置(单机) zoo.cfg tickTime=2000initLimit=10syncLimit=5dataLogDir=/data/zookeeper/log/dataDir=/data ...