【Maven学习】1.2 什么是 Maven?

Maven是一款专为Java项目提供构建和依赖管理的工具。它支持项目的清理、编译、测试、打包及部署等流程,并能有效管理项目间的依赖关系,避免版本冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建依赖管理支持的工具。

    img

    1、构建

    Java 项目开发过程中,构建指的是使用**『原材料生产产品』**的过程。

    • 原材料

      • Java 源代码
      • 基于 HTML 的 Thymeleaf 文件
      • 图片
      • 配置文件
    ……
    • 产品

      • 一个可以在服务器上运行的项目

    构建过程包含的主要的环节:

    • 清理:删除上一次构建的结果,为下一次构建做好准备

    • 编译:Java 源程序编译成 *.class 字节码文件

    • 测试:运行提前准备好的测试程序

    • 报告:针对刚才测试的结果生成一个全面的信息

    • 打包

      • Java工程:jar包
      • Web工程:war包
    • 安装:把一个 Maven 工程经过打包操作生成的 jar 包或 war 包存入 Maven 仓库

    • 部署

      • 部署 jar 包:把一个 jar 包部署到 Nexus 私服服务器上
      • 部署 war 包:借助相关 Maven 插件(例如 cargo),将 war 包部署到 Tomcat 服务器上

    2、依赖

    如果 A 工程里面用到了 B 工程的类、接口、配置文件等等这样的资源,那么我们就可以说 A 依赖 B。例如:

    • junit-4.12 依赖 hamcrest-core-1.3

    • thymeleaf-3.0.12.RELEASE 依赖 ognl-3.1.26

      • ognl-3.1.26 依赖 javassist-3.20.0-GA
    • thymeleaf-3.0.12.RELEASE 依赖 attoparser-2.0.5.RELEASE

    • thymeleaf-3.0.12.RELEASE 依赖 unbescape-1.1.6.RELEASE

    • thymeleaf-3.0.12.RELEASE 依赖 slf4j-api-1.7.26

    依赖管理中要解决的具体问题:

    • jar 包的下载:使用 Maven 之后,jar 包会从规范的远程仓库下载到本地
    • jar 包之间的依赖:通过依赖的传递性自动完成
    • jar 包之间的冲突:通过对依赖的配置进行调整,让某些jar包不会被导入

    3、Maven 的工作机制

    img

    Maven核心程序负责宏观调控

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

是我,Zack

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

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

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

打赏作者

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

抵扣说明:

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

余额充值