Maven介绍

Maven作为项目管理工具,简化Java项目构建流程,实现自动化依赖管理。本文介绍Maven的优点、主要功能及工程结构,包括项目构建、依赖管理等关键步骤,如编译、测试、打包和部署。同时,解析Maven生命周期命令,如mvn compile、mvn clean、mvn test和mvn package,以及依赖作用范围和仓库概念。

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

Maven是一个项目管理工具,对Java项目进行构建,依赖管理。
Maven优点:

  1. 一个命令完成构建,运行,方便快捷。
  2. 对每个构建项目进行规范,有利于大型团队协作开发完成项目。
    主要功能:
  3. 项目构建
  4. 依赖管理
    在项目构建是一个从编写源代码->编译->测试->打包->部署->运行
    依赖管理:项目所有依赖的jar包进行规范化管理。避免版本冲突。
    通过pom.xml中的定义坐标从maven仓库自动下载,方便且不方便出错。
    bin项目mvn.bat(run方式运行)。
    conf目录中settings.xml是整个maven工具核心配置文件。
    配置文件:新增配置文件: MAVEN_HOME 将文件地址放入其中。
    path:%MAVEN_HOME%/bin
    采用mvn -v检查是否安装成功,看到maven和java版本即为成功。
    注意:使用win10配置Path的时候,切记最后不要保留分号“;”
    Maven的作用为:从仓库中下载jar包。分为:本地仓库,远程仓库,中央仓库。
    本地仓库:用来存储从远程仓库中或者中央仓库中下载的插件和jar包,项目中使用一些插件或者jar包,优先从本地仓库中下载。
    远程仓库:本地没有插件或者jar包,默认从远程仓库中下载,远程仓库可以从互联网下载,局域网。
    中央仓库,存储了非常多且全的jar包。
    Maven工程结构
  5. mvn compile 完成编译操作,执行完毕后,会生成target目录,里面存放着编译后的字节码文件。
  6. mvn clean 执行完毕后会将target文件删除,删除的是maven生命周期里面全部的生成文件。
  7. mvn test 命令,完成单元测试,最好在文件命名的时候,避免使用test,执行完毕后,会在taeget目录中会生成两个文件夹 surefire-reports(测试报告),test-classes(测试的字节码文件,包括test/resources的资源文件)。
  8. mvn package 完成打包操作(在执行打包操作之前会执行mvn test 命令),执行完成后,target目录中生成一个文件,可能是jar(默认),war。
    在artifcats中增加war-exployed
    依赖的作用范围:
    ● compile:编译范围,指A在编译时依赖B,此范围为默认依赖范围。编译范围的依赖会用在编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。
    ● provided:provided依赖在编译和测试时需要,在运行时不需要,比如:servlet api被tomcat容器提供。provided依赖只有在当JDK或者一个容器已提供该依赖之后才能使用(否则会报错),
    ● runtime:runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc的驱动包。由于运行时需要所以runtime范围的依赖会被打包。
    ● test:test范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,比如:junit。由于运行时不需要所以test范围依赖不会被打包。
    然后执行maven package命令报错,maven的web项目默认的是webroot是在src\main\webapp
    mvn install : 执行mvn install 命令,将完成大好的jar包安装到本地仓库的操作,执行完毕后,以供其他项目使用。
    cmd 中录入 mvn clean compile 组合指令,先执行clean,再执行compile,通常应用于上线前执行,清除测试类。
    cmd 中录入 mvn clean test 组合指令,先执行clean,再执行test,通常应用于测试环节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值