Maven 详解

目录

Maven核心概念 POM

配置对 servlet-api.jar 包的依赖

Maven 的构建命令

核心配置文件 pom.xml 解读

Maven的继承、聚合

示例一

示例二


Maven核心概念 POM

Pom(项目对象模型)

        把Java工程当做一个 jar包,可以直接引入到其他工程

模型思想 

约定大于配置,配置大于编码  可以使我们的引用程序维护性更高更加灵活 


配置对 servlet-api.jar 包的依赖

        不知道详细信息的依赖可以到下面这个网站,搜索关键字

https://mvnrepository.com/https://mvnrepository.com/


Maven 的构建命令

原生构建命令感兴趣的可以看下,不重要

1、清理target目录

  • mvn clean   

2、编译源文件把 java文件编译成class文件 生成target目录

  • mvn compile   

3、编译测试源文件 为class文件

  • mvn test-compile

4、编译测试源文件 为class文件

  • mvn test-compile    

5、对该项目进行测试并且生成测试报告

  • mvn test  
6、对项目进行打包
  • mvn package
7、项目打包,并且安装到本地仓库
  • mvn install

核心配置文件 pom.xml 解读

<modelVersion>4.0.0</modelVersion> <!-- 模型版本-->
<!--当前工程坐标-->
  <groupId>lovo</groupId>   <!--公司或组织id-->
  <artifactId>maven01</artifactId>  <!--项目id/模块id-->
  <version>1.0</version>  <!--版本号-->
  • 坐标作用:Maven仓库中用来区分不同jar包之间的向量
 <packaging>jar</packaging>  <!--指定打包类型-->
  • 指定打包类型:pom、jar、war,默认是jar类型
<!--当前项目的名称-->
  <name>maven01</name>
  <url>http://maven.apache.org</url>
<!--项目的配置信息-->
  <properties>
    <!--项目构建的编码-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--优先级问题,也可以不写,不写会默认用settings里的配置-->
    <!-- 编译时的jdk版本-->
    <maven.compiler.source>17</maven.compiler.source>
    <!-- 打包时的jdk版本-->
    <maven.compiler.target>17</maven.compiler.target>
  </properties>
<!--jar包的依赖-->
  <dependencies>
    <!--单个jar包-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
    <!--作用域 哪些地方能用-->
      <scope>test</scope>
    </dependency>
  </dependencies>
  • 可以有多个dependcy;<scope>可以不写
<build>构建 运⾏代码:--------加⼊插件、main⽅法 
    <finalName>项目最终打包成的名字</finalName>
    <plugins>
        <groupId>插件公司名</groupId>
        <artifactId>插件名</artifactId>
        <configuration>
          <archive>
            <manifest>
              <mainClass> 指定启动类</mainClass>
            </manifest>
          </archive>
     
          <!--依赖包 打包-->
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
    </plugins>
</build>

Maven的继承、聚合

继承本质
  • A工程的 pom.xml 中的配置继承了 B 工程中 pom.xml 的配置​​​​​​​

聚合本质

  • 把多个模块或项目聚合到⼀起,创建⼀个专门的工程进行管理、构建

示例一

给A工程配置mysql jar包的依赖,B工程继承A的配置(就不用再写mysql的依赖了)

step1、新建好A工程后,按下面步骤新建B工程 继承A工程

新建好的pom.xml 


step2、在A工程中添加依赖  右侧刷新下  B工程就可以用继承过来的了
       
继承后,打包父工程会把子工程一起打包出去
​​​​​​​

示例二​​​​​​​

在B工程中调用A工程的工具
      

同样的,如果是A工程想调用B工程的,就把B的坐标 写到 A的依赖中

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BroRiver

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

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

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

打赏作者

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

抵扣说明:

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

余额充值