Maven

欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot

基本介绍

Maven主要有两个功能:

    1、项目构建

    2、依赖管理


仓库的默认位置:C:\Usrs\{登录当前系统的用户名}\.m2\repository


maven项目结构:

    src/main/java : 项目java类文件位置

    src/main/resources : 项目配置资源文件位置

    src/test/java : 项目单元测试java类文件位置

    src/test/resources : 项目单元测试配置资源文件位置

    target : 项目打包后文件所在位置


父工程统一管理版本号:dependencyManagementy

  1) 只能出现在父pom里

  2) 统一版本号

  3) 只是依赖声明,并不直接依赖,需要时在子项目中在声明要使用依赖的GA信息,V信息可以省略。


版本号提取:
    可以使用properties标签,里面可以自定义版本的标签名。在使用的地方使用${自定义标签名}

构建

构建定义:把动态的Web工程经过编译得到的编译结果部署到服务器上的整个过程。

  √ 编译:java源文件[.java]->编译->Classz字节码文件[.class]

  √ 部署:最终在sevlet容器中部署的不是动态web工程,而是编译后的文件

构建的各个环节:

  [1] 清理clean:将以前编译得到的旧文件class字节码文件删除

  [2] 编译compile:将java源程序编译成class字节码文件

  [3] 测试test:自动测试,自动调用junit程序

  [4] 报告report:测试程序执行的结果

  [5] 打包package:动态Web工程打War包,java工程打jar包

  [6] 安装install:Maven特定的概念-----将打包得到的文件复制到“仓库”中的指定位置

  [7] 部署deploy:将动态Web工程生成的war包复制到Servlet容器下,使其可以运行

依赖scope

  1) compile:编译依赖范围,在编译,测试,运行时都需要,依赖范围默认值

  2) test:测试依赖范围,测试时需要。编译和运行不需要,如junit

  3) provided:已提供依赖范围,编译和测试时需要。运行时不需要,如servlet-api

  4) runtime:运行时依赖范围,测试和运行时需要。编译不需要,例如面向接口编程,JDBC驱动实现jar

  5) system:系统依赖范围。本地依赖,不在maven中央仓库,结合systemPath标签使用

生命周期

“三套”,而且“相互独立”,这三套生命周期分别是:

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

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

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


它们是相互独立的,可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。
也可以直接运行 mvn clean install site 运行所有这三套生命周期。

pom parent 标签

https://www.cnblogs.com/loveer/p/11376531.html

posted @ 2019-10-13 13:04  LittleDonkey  阅读(147)  评论(0编辑  收藏  举报