软件设计之Maven(1)

软件设计之Maven(1)

路线图推荐:
【Java学习路线-极速版】【Java架构师技术图谱】
尚硅谷新版Maven教程(高效入门maven,上手又快又稳)
资料可以去尚硅谷官网免费领取

学习内容:

  1. Maven简介
  2. 安装与环境配置
  3. Maven工程GAVP含义
  4. Maven的Web工程
  5. Maven工程构建命令
  6. 插件、命令、生命周期

1、Maven简介

Maven是一个项目管理和构建工具,主要用于Java项目。它提供了一个标准化的构建流程,使开发者能够快速、可靠地管理项目的构建、依赖和文档生成。Maven的核心思想是“约定优于配置”,即通过约定的方式减少配置的复杂性。

依赖管理工具

Maven作为依赖管理工具,通过在pom.xml文件中声明所需的外部库和版本,自动解析并下载这些依赖及其传递依赖,从而确保项目在构建和运行时能够找到所有必要的库。这一过程简化了依赖管理,避免了版本冲突,提高了构建的可靠性和可重复性。
在这里插入图片描述

构建工具

Maven作为构建工具,提供了一套标准化的构建生命周期插件机制,自动化地执行项目的编译、测试、打包和发布等任务。通过定义清晰的构建过程和项目结构,Maven帮助开发者高效地管理项目构建,确保各个阶段有序进行,从而提高了开发效率和团队协作能力。
在这里插入图片描述

2、安装与环境配置

(1) 下载的压缩包解压完一般会是一个apache-maven-3.8.8文件夹,我的MAVEN_HOME路径是D:\Maven\apache-maven-3.8.8
(2) 验证安装在命令行或终端输入:mvn -v
在这里插入图片描述

功能配置

找到settings.xml文件,具体操作可以看视频

<!-- 配置本地仓库地址-->
 <localRepository>D:\maven-repository</localRepository>
 <!-- 配置国内阿里镜像-->
 <mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<!--在profiles节点(标签)下添加jdk编译版本 268行附近-->
<profile>
    <id>jdk-17</id>
    <activation>
      <activeByDefault>true</activeByDefault>
      <jdk>17</jdk>
    </activation>
    <properties>
      <maven.compiler.source>17</maven.compiler.source>
      <maven.compiler.target>17</maven.compiler.target>
      <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
    </properties>
</profile>

3、Maven工程GAVP含义

在这里插入图片描述

不同的Java文件夹

在这里插入图片描述

4、Maven的Web工程

(1)方式一:

其中在设置完pom.xml并刷新之后,可以在文件->项目结构->模块中添加web.xml,并设置好存放位置,具体文件结构如下图所示:

在这里插入图片描述
在这里插入图片描述

(2)方式二:

设置->插件->Marketplace搜索JBLJavaToWeb,随即安装(别忘记点右下角的应用按钮!!!),在你想要添加Web工程的模块下右键,点击JBLJavaToWeb即可。
在这里插入图片描述

5、Maven工程构建命令

  • compile:在名字为maven_java模块工程内,写java类代码,通过cmd指令进入该项目的绝对路径 “E:\Java30days\Project\Maven_test\maven_java”即该项目pom.xml所在文件夹路径),运行mvn compile,生成target文件
  • clean:删除目标目录 (target) 及其内容
  • test: 执行项目中的测试代码
    • 测试类的名称通常以被测试类的名称为基础,后缀加上 Test(例如,如果被测试类是 UserService,测试类可以命名为 UserServiceTest)
    • 测试方法应该描述其测试的功能,通常以 test 开头(例如 testAddUser)
    • 测试报告在target文件的surefire-reports文件夹中,里面描述了测试的结果
  • package:将项目源代码编译并打包成可发布的格式(如 JAR 或 WAR 文件)
    • 打包之前,Maven 会运行 src/test/java 中的测试用例,确保代码在打包前通过所有测试。如果测试失败,打包过程会被中止。
    • 打包类型会根据 pom.xml 中的 packaging 标签类型(如 jar 或 war)
    • 插件版本: 确保使用的 Maven 插件(如 maven-war-plugin 或 maven-jar-plugin)的版本与 JDK 兼容。如果插件不支持所使用的 JDK 版本,也会导致打包失败。
  • install: 将项目打包并安装到本地 Maven 仓库,通过将构建的项目安装到本地 Maven 仓库,可以在本地的其他 Maven 项目中引用这个项目,方便开发和测试。
命令描述
mvn compile编译项目,生成target文件
mvn test-compile编译项目(包含测试项目),生成target文件
mvn package打包项目,生成jar或war文件
mvn clean清理编译或打包后的项目结构
mvn install打包后上传到maven本地仓库
mvn deploy只打包,上传到maven私服仓库
mvn site生成站点
mvn test执行测试源码

IDEA可视化构建

双击可以执行类似 mvn-xxx的效果
在这里插入图片描述

Maven坐标的使用

Maven 坐标的格式:(groupId:artifactId:version)
JAR 包在本地仓库中的路径结构如下:其中本地仓库之前我们设置过,我的是:D:\Maven\maven-repository

<local-repo>/
└── <groupId>
    └── <artifactId>
        └── <version>
            └── <artifactId>-<version>.jar

6\插件、命令、生命周期

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值