2小时学会Maven!2024最新Maven教程-快速掌握Maven入门到实战-最新IDEA版maven


为什么要学maven
 

Maven是一个Java项目管理和构建工具,它可以定义项目结构、项目依赖,并使用统一的方式进行自动化构建,是Java项目不可缺少的工具。

提供了一套标准化的项目结构

提供了一套标准化的构建流程(编译,测试,打包,发布.)
繁琐一个流程: 编译---->测试---->打包(war)---->部署


maven提供标准自动化部署流程(一键部署)

不同的开发工具创建的项目结构是不一样的
maven规范了项目的结构,开发人员上手项目变得更加简单

提供了一套依赖管理机制。(管理项目所有的jar包)


使用传统项目开发cim项目,项目大小几十兆
如果项目的iar包很多的话,体积就会很大,占用磁盘过大,传输过程非常慢

解决:利用仓库统一管理了所有的jar

jar包和jar包版本冲突问题


解决:利用“依赖传递”特性把相关的jar都会引入进来,有效解决一定程度版本冲突问题

创建maven项目

我的本地仓库也命名为了C:\repmvn

cmd里mvn archetype:generate

包名com.xushu

项目名称(坐标)hello

版本1.0

确认以后输入y

项目结构

约定>配置

坐标(pom.xml文件下

依赖引用
properties属性配置

它里面就是变量


创建基于maven的web应用

把之前servlet里的文件放到创的maven里然后

默认是jar包,或者设置成pom用来聚合,不是一个具体的包

注意:tomact10

Jakarta报错通常与Servlet API的包名变更有关。Tomcat 10开始实施Jakarta EE的规范,其中Servlet API的包名由javax.servlet变更为jakarta.servlet。以下是一些解决这个问题的方法:

  1. 确保项目依赖正确:如果你的项目使用了Tomcat 10或更高版本,确保你的项目依赖也更新为使用jakarta.servlet-api而不是javax.servlet-api。例如,在Maven的pom.xml文件中,依赖应该如下所示:

    <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>6.0.0</version>
        <scope>provided</scope>
    </dependency>

        2.把tomcat10换成低级的


maven命令

测试test时候命名文件要以Test开头


依赖范围


依赖的传递


依赖排除和覆盖

跟上面不让传递效果一样但是是在b项目不让动情况下直接设置一下

或者再设置一个版本覆盖(自己工程优先替换)


通过依赖图查看依赖链

在maven窗口右键不然显示找不到


聚合工程

聚合项目不写代码

1.创建新项目,删除src文件

2.创建两个module模块,要在Java下创建(可以命名为ajuhe和bjuhe),创建时候parent(父项)不要选

3.在该项目的pom.xml下设置

4把bjuhe的main改了

5把bjuhe的坐标给ajuhe

6.现在在bjuhe里面随便添加一个依赖ajuhe会直接出现,可以在右边的maven里面看到

7.编译什么的可以直接在juhee进行,不用单独打包清除等

maven继承

也就是在创建两个模块时候选择父亲然后在juhee里面添加依赖她两就都有了

之前没添加我们采用这种方式手动添加这个坐标是父的坐标

继承时候分为必须继承和选择性继承

必须继承的坐标就继承过去了,选择继承的在某个模块里单独设置一下,像这样

总结

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值