侧边栏壁纸
博主头像
黑色閃光w博主等级

行动起来,活在当下

  • 累计撰写 28 篇文章
  • 累计创建 14 个标签
  • 累计收到 152 条评论

目 录CONTENT

文章目录

Maven——项目管理工具

黑色閃光w
2022-08-20 / 0 评论 / 1 点赞 / 1155 阅读 / 8096 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-09-12,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

不同的人拥有着不同的习惯,意味着每个人都会根据自己的习惯使用不同的代码编写工具(IDE),但是在工作中总是避免不了与其他人配合工作,但是不同的IDE拥有着不同的项目结构,它们彼此互不兼容。于是Apacha公司很贴心了开发了Maven的项目管理工具(Apacha真是我义父)。也是本文介绍的主要内容。

正文

Maven简介

Maven是专门用于管理和构建Java项目的工具,它的主要功能有:

  • 提供了一套标准化的项目结构
  • 提供了一套标准化的构建流程(编译,测试,打包,发布……)
  • 提供了一套依赖管理机制

Maven将代码的一整套开发流程进行了标准化,包括但不限于:编译、测试、打包、发布,这些在之前十分繁琐的操作Maven都会帮我们完成,而我们需要做的事情就是点一点鼠标而已。

Maven还提供了一套项目依赖管理工具,它不需要你自己去下载依赖Jar包,然后再导入。
Apache就告诉两个字:

而Maven使用标准的 坐标 配置来管理各种依赖,只需要简单的配置就可以完成依赖管理。
例如我们需要导入MySQL的驱动Jar包,只需要写一个XML标签。

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
            <scope>compile</scope>
        </dependency>

Maven就会帮我们下载,并且导入我们的项目中。
Apache就告诉两个字:

Maven安装配置

这么好用的东西,我们肯定要拥有,但如何安装呢?

  1. Maven官网下载和自己系统兼容的Maven版本。
  2. 解压至没有中文和特殊符号的路径下(这个很重要)。
  3. 配置系统变量 MAVEN_HOME 为安装路径。
    image.png
  4. path中配置环境变量image.png
  5. 打开CMD,输入一下指令:
mvn -version

如果出现
image.png

则证明Maven已经成功安装到我们的电脑中了。
如果没出现怎么办呢?主要问题集中在系统环境变量的配置,细心点看看自己是否遗漏了哪些?
6. 修改本地仓库
修改 conf/settings.xml 中的<localRepository>为一个指定目录作为本地仓库,用来存储jar包。
image.png
7. 因为一些魔法原因,我们访问官方中央仓库(也就是下载Jar包的仓库)速度慢到令人发指,所以我们需要访问阿里云镜像,来获取更快的下载速度。

修改 conf/settings.xml 中的<mirrors>标签,为其添加如下子标签:

<mirror>  
	<id>alimaven</id>  
	<name>aliyun maven</name>
	<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	<mirrorOf>central</mirrorOf>          
</mirror>

至此我们就完成了所有的Maven配置。

Maven的常用命令

  • compile :编译
  • clean:清理
  • test:测试
  • package:打包
  • install:安装

可以直接在项目路径的CMD窗口执行以上命令:
举个例子,我想把我的项目打成Jar包
就直接在项目路径下的CMD执行命令
mvn -packsge

当然IDEA也集成了Maven。

在IDEA中新建Maven项目:

image.png
在项目结构中点击Maven。
点击创建后,
我们就能看到以下的项目结构,每个Maven项目都是这样的基础项目结构,这也就是Maven的意义所在。
image.png

main目录:是放置代码的主要空间,我们编写的代码都会放在这里
test目录:是放置测试代码的空间,有时我们需要使用@Test注解来测试代码,就在这里进行。
pom.xml文件:是该项目的核心配置文件,我们经常会在这个文件中输入需要导入的Jar包坐标。

在插件市场上安装Maven Helper,我们就可以在IDEA的右键菜单中找到Maven命令。
image.png

真的方便哭了,o(╥﹏╥)o

Maven 坐标详解

什么是坐标?

  • Maven 中的坐标是资源的唯一标识
  • 使用坐标来定义项目或引入项目中需要的依赖

Maven 坐标主要组成

  • groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima
  • artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-servicegoods-service
  • version:定义当前项目版本号
    如下图就是使用坐标表示一个项目:
    image.png

注意:

  • 上面所说的资源可以是插件、依赖、当前项目。
  • 我们的项目如果被其他的项目依赖时,也是需要坐标来引入的。

依赖管理

使用坐标引入jar包

使用坐标引入jar包的步骤:

  • 在项目的 pom.xml 中编写<dependencies>标签。
  • 标签中 使用<dependency>引入坐标。
  • 定义坐标的groupIdartifactIdversion
    image.png

点击刷新按钮,使坐标生效
image.png

注意:

快捷方式导入jar包的坐标:

每次需要引入jar包,都去对应的网站进行搜索是比较麻烦的,接下来给大家介绍一种快捷引入坐标的方式

  • 在 pom.xml 中 按 alt + insert,选择 Dependency(依赖项模板)
    image.png
  • 在弹出的面板中搜索对应坐标,然后双击选中对应坐标
    image.png
  • 点击刷新按钮,使坐标生效
    image.png

依赖范围

通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境。

如下图所示给junit 依赖通过scope标签指定依赖的作用范围。 那么这个依赖就只能作用在测试环境,其他环境下不能使用。
image.png
那么scope都可以有哪些取值呢?

依赖范围 编译classpath 测试classpath 运行classpath 例子
compile logback
test × × Junit
provided × servlet-api
runtime × JDBC驱动
system × 储存在本地的Jar包
  • compile :作用于编译环境、测试环境、运行环境。
  • test : 作用于测试环境。典型的就是Junit坐标,以后使用Junit时,都会将scope指定为该值
  • provided :作用于编译环境、测试环境。在使用它时servlet-api,必须将scope设置为该值,不然运行时就会报错
  • runtime : 作用于测试环境、运行环境。jdbc驱动一般将scope设置为该值,当然不设置也没有任何问题。

至此,我们关于Maven基本上就了解清楚了,现在就可以用Maven来创建项目啦!

结语

Maven的项目结构看起来就很专业!
不仅好用,而且开源免费!
Apache简直是CoryLeft的业界楷模!

1

评论区