Maven

Maven项目构建工具

  • POM(项目对象模型):把项目当做一个对象

  • 核心内容是依赖管理,主要过程是项目构建,通过各种插件来产出文件

局部setting配置文件就是在maven文件夹下(与repositroy同级),创建一个setting配置文件,到时会先读取到这一个文件.

断言,junit包下的类

//预期是4,如果num不是4就报错
Assert.assertEquals(4,num);
<!--对象模板版本:就是用哪个版本来构建项目对象-->
<modelVersion>4.0.0</modelVersion>

依赖管理

依赖传递

  • 注意被引用的项目的scope,设置时不要是test模式,不然不能引用

引用其它maven项目

<!--千万注意这个作用域-->
<scope>test</scope>

<dependency>
  <groupId>org.example</groupId>
  <artifactId>Maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <!--千万注意这个作用域,在下面的依赖范围章有说-->
  <!--<scope>test</scope>-->
</dependency>

传递优先级

  • 路径优先
  • 声明优先:层级相同时,看父级谁优先
  • 特殊优先:后面的覆盖前面的

排除依赖:不要你的依赖

  <version>1.0-SNAPSHOT</version>
  <exclusions>
    <exclusion>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </exclusion>
  </exclusions>
</dependency>

可选依赖:不给别人用

<version>4.13.2</version>
<optional>true</optional>

依赖范围

<scope>test</scope>
作用范围
  • 主程序:main包下
  • 测试程序:test包下
  • 参与打包:package范围内
  1. 默认compile全作用范围

  2. test只对测试程序有效

  3. provider:不参与打包,如servlet-api依赖,如果参与打包,会和tomcat自带的servlet-api依赖冲突

runtime只参与打包:如jdbc的Dervier类,在主程序中从来没有用过,用的都是jdbc的驱动

依赖范围传递性

只有compile和runtime的直接依赖才能传递.间接依赖的作用范围为结果

在这里插入图片描述


生命周期

Maven的生命周期分为三大部分clean,default(核心部分),site(报告期)

//会在target/surefire-reports下生成一个Test.xml的测试报告
mvn test
  • install会将项目打包安装到本地仓库去,路径在maven控制台里有个install开头的标明

插件用法

这个就是site期:项目构建过程中使用插件产出文件的过程

阿帕奇·马文·贾瓦多克插件 – 用法 (apache.org)

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-javadoc-plugin</artifactId>
  <version>3.4.1</version>
  <executions>
    <execution>
      <!--打包成只有测试程序的-->
      <goals>
        <goal>test-jar</goal>
      </goals>
      <!--在什么阶段执行这个插件-->
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

helloses

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值