maven 学习笔记

打卡maven学习笔记
学习地址:https://study.163.com/course/courseMain.htm?courseId=1005828004
网易云课堂,颜群老师,maven课程。讲解的还不错。1.5/1.75倍速,一天半左右能看完

1.Maven的作用

  • 增加第三方Jar
  • jar包之间的依赖关系 (自动关联所依赖的jar包,并且不会冲突)
  • 将项目拆分成若干个模块

2.Maven的概念

  • 是一个基于Jave平台的自动化构建工具(make-ant-maven-gradle)

3.Maven的功能

  • 清理:删除编译的结果,为重新编译做准备。
  • 编译:java --> class
  • 测试:针对于项目中的关键点进行测试,也可以用项目中的代码去测试开发代码
  • 报告:将测试结果进行显示
  • 打包:将项目中包含的多个文件压缩成一个文件,用于安装或部署。(java项目-jar包,web项目-war包)
  • 安装:将打成的包放到 本地仓库,供其他项目使用
  • 部署:将打成的包放到 服务器上准备运行
  • 将java、js、jsp等哥哥文件进行筛选、组装 变成一个可以直接运行的项目

4.maven约定的目录结构
项目
- src
– main
– java :程序功能代码(java代码)
– resources :资源代码、配置代码
– test
– java :java测试代码
– resources 测试代码所用资源
- pom.xml :项目对象模型

├─ src
│ ├─ main
│ │ ├─ java 程序功能代码(java代码)
│ │ ├─ resources 资源代码、配置代码
│ │
│ ├─ test
│ │ ├─ java java测试代码
│ │ ├─ resources 测试代码所用资源
│ │
├─pom.xml 项目对象模型

5.- maven settings.xml配置

	  <groupId>域名反转.大项目名</groupId>
	  <artifactId>子模块名</artifactId>
	  <version>当前项目版本号</version>
	
	  <groupId>com.rz.maven</groupId>
	  <artifactId>HelloWorld</artifactId>
	  <version>0.0.1-SNAPSHOT</version>

在maven的项目中,如果要使用一个当时存在的jar或模块,则可以通过依赖实现(去本地仓库、远程仓库去寻找)
执行maven,必须在pom.xml所在目录中执行

6.Maven的常见命令操作

  • mvn -v 查看maven版本
  • mvn compile 编译
  • mvn test 测试
  • mvn package 打包(jar、war)
  • mvn clean 删除target
  • mvn install 安装jar包到本地仓库中 放入的位置是通过gav决定的。
  • mvn compile(默认)
  • mvn test
  • mvn provided

7.在myclipse中创建maven工程
1.配置maven:

  ii. 配置maven版本
  iii.配置maven本地仓库-设置setting.xml并指定路径
  iiii. 在myclipse中编辑完pom.xml依赖后,需要maven-update project之后才能正常使用
  2. 执行maven
  i. 选择pom.xml

8.maven的生命周期
生命周期和建构关系
3个阶段:

  • clean lifecycle:清理

  • default lifecycle:默认

  • site lifecycle:站点

9. 依赖的范围和依赖的有效性 jar包的dependency-scope
编译、测试、运行
compile(默认范围) 编译、测试、运行都有效
provided 在编译和测试时有效
runtime 在测试和运行时有效
test 只在测试时有效
system 在编译和测试时有效,与本机系统有关,可移植性差

  • 排除依赖
         <exclusions>
            <exclusion>
               <groupId>XXXXX</groupId>
               <artifactId>XXXXX</artifactId>
            </exclusion>
         </exclusions>

  • 多个maven之间的依赖 a->b
    1.将b项目install到本地仓库
    2.在a项目的pom.xml中通过gav引入依赖
    3.依赖的传递性 A.jar -> B.jar -> C.jar - 要使A.jar->C.jar - 当且仅当B.jar -> C.jar的依赖范围是compile
    4.路径优先原则:为了防止依赖冲突

    • a.路径最短优先原则
    • b.路径长度相同
    • i.(同一pom文件中两个不同版本的依赖。后面覆盖前面的)
    • ii.如果是不同的pom.xml中油两个相同的依赖(优先);则先声明的会覆盖后声明的。
      (JDK只能识别构建路径(source folder)中的源码)

    5.同一项目的jdk版本

    1. build path:删除旧版本 增加新版本
      右键项目-属性-project Factors -java version改版本

    2. 通过maven同一版本 – pom配置profiles

10.打包方式:
java工程 – jar
web项目 – war
父工程 – pom

11.继承实现步骤:
1.建立父工程:父工程的打包方式为pom
2.在父工程的pom中编写依赖
3.在子工程中继承父工程
1.加入父工程坐标gav
2.当前工程的pom.xml到父工程的pom.xml
3.声明需要使用到父类的哪些jar包(junit) – 只需要ga

12.聚合

  • 非聚合实现: maven项目能够识别的:自身包含、本地仓库中的
    maven2依赖于maven1,则在执行时:必须先将maven1加入到本地仓库(install)之后才能执行maven2
    以上前置工程的install操作,可以交由“聚合”,一次性搞定

  • 聚合的使用:
    在一个总工程中配置聚合 -只能配置在(打包方式为pom工程)的maven工程中
    // 配置聚合,避免牵制工程的install操作

    // 项目的根路径
    …/maven1
    …/maven2

  • 概念:
    聚合:maven将一个大工程拆分成若干个子工程(子工程)
    聚合可以将拆分的多个子工程合起来
    继承:父工程 -> 子工程(可以通过父工程,通过管理工程版本号)

13. 部署web工程:war
通过maven直接部署运行web项目:
a.配置cargo
b.maven命令:deploy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值