当前位置: 代码网 > it编程>编程语言>Java > 2024最新maven安装+配置+创建+导入+依赖管理一条龙教程(针对IDEA2023以上,以及jdk17,maven3.9.6)

2024最新maven安装+配置+创建+导入+依赖管理一条龙教程(针对IDEA2023以上,以及jdk17,maven3.9.6)

2024年08月02日 Java 我要评论
2024最新maven安装+配置+创建+导入+依赖管理一条龙教程(针对IDEA2023以上,以及jdk17,maven3.9.6)

maven

概念:是一个apache组织开发的一个项目管理和构建工具,它基于项目对象模型(pom)的概念,通过一小段描述信息来管理项目的构建。

作用:

  • 依赖管理
  • 统一项目结构(不同ide都是一样的结构,项目就可迁移了)
  • 跨平台标准化流程(清理,编译,测试,打包,发布)

项目对象模型是指通过pom.xml中配置的一小段信息来描述这个工程:groupid,artifactid,version(坐标)

项目如果还需要依赖一些资源,就可以在项目对象模型中,添加依赖管理模型dependency,就会从仓库(本地或中央仓库或远程仓库)中查找。

maven是基于java开发的

1.安装-配置

  1. https://maven.apache.org/download.cgi官网下载对应的安装包压缩文件,然后解压

  2. 配置本地仓库,修改conf/settings.xml中的localrepository标签为一个指定目录
    <localrepository>d:\develop\apache-maven-3.9.6</localrepository>(应该是settings.xml第53行注释,加入文件夹地址-需要新建一个文件夹作为本地仓库)

  3. 配置阿里云私服,修改conf/settings.xml的mirrors标签,为其添加子标签

    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>https://maven.aliyun.com/nexus/content/groups/public</url>
      <mirrorof>central</mirrorof>
    </mirror>
    
  4. 配置环境变量:maven_home为maven的解压目录,并将其bin目录加入path环境变量

2.idea中集成maven

2.1单一project的maven配置流程

  • idea中file->settings->build,execution,deployment->build tools->maven(注意jdk版本一致性,这里默认都是jdk17,不是的话,修改settings下的java compiler的字节码版本以及runner的jre版本,以及preoject structure中project settings的jdk版本)
  • 修改配置文件,以及本地仓库路径

在这里插入图片描述

2.2配置maven环境(全局)

在这里插入图片描述

customize之后,all settings之后就跟之前的步骤一样了。

3.创建maven项目

  1. 创建模块,选择maven,点击next(idea2022版本以上,创建项目的时候直接创建maven项目;或者module左侧generators下的maven archetype,然后 archetype中下拉选择后缀为quickstart或者add进入步骤二,创建完会报错,目前还不知道如何解决,先按照quickstart来)
    在这里插入图片描述

  2. 填写模块名称,坐标信息(groupid,artifactid,version),点击finish,创建完成(注意要按照artifactid补全1中的location)
    在这里插入图片描述

  3. 编写hello world,并运行。

add进入步骤二,创建完会报错the desired archetype does not exist,目前还不知道如何解决,先按照quickstart来,可以之后再自己在pom.xml中修改。(针对于2023版本以上idea)

但是quickstart的话,src/main下面只有java文件夹,没有resource文件夹作为配置文件存放地。那就自己自己new directory。
在这里插入图片描述

target里面存的是字节码文件

4.导入maven项目

方法一
在这里插入图片描述

方法二:
file->structure->点击加号->import module->选择对应pom文件。

5.依赖管理

依赖:指当前项目运行所需要的jar包,一个项目中可以引入多个依赖

5.1依赖配置

<dependencies>
    <dependency>
      <groupid>junit</groupid>
      <artifactid>junit</artifactid>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

(配置完成之后,需要点击m按钮重新加载一下,就可以生效了)
如果创建的依赖之前并没有下载到本地,那么就需要自己查,提供一个网站https://mvnrepository.com/,参考使用频次较多的复制粘贴。

5.2依赖传递特性

依赖传递性:如果a项目添加了对于jar1的依赖,而jar1依赖于jar2,则不需要再添加jar2
jar1称之为直接依赖,jar2称之为间接依赖。

如果不想传递某依赖关系:可以通过排除依赖来实现,比如下面排除projectb的junit依赖

<dependencies>
    <dependency>
      <groupid>com.mim</groupid>
      <artifactid>projectb</artifactid>
      <version>3.8.1</version>
      <exclusions>
        <groupid>junit</groupid>
        <artifactid>junit</artifactid>
      </exclusions>
    </dependency>
  </dependencies>

5.3依赖范围

依赖的jar包,默认情况下,可以在任何地方使用。可以通过scope标签来设置其作用范围。

  • 1.主程序范围有效(main文件夹)
  • 2.测试范围有效(test文件夹)
  • 3.是否参与打包运行(package指令范围内,即项目打包时将jar包打包进去)

一般<scope></scope>之间有四种取值

  • compile(默认):上述三种都有效,like:log4j
  • test:测试程序运行有效,like:junit
  • provided:1,2有效,不参与打包,like:servlet-api
  • runtime:2,3有效,主程序无效,like:jdbc驱动

5.4生命周期

maven生命周期就是为了对所有的maven项目构建过程进行抽象和统一。

maven中有3套相互独立的生命周期:

  • clean:清理工作。清理上一次项目构建产生的文件(.class,.jar)
  • default:核心工作,如:编译,测试,打包,安装,部署等。
  • site:生成报告、发布站点等(很少用)

每套生命周期都有许多细分的阶段,我们主要关注5个

clean中的clean阶段
default中的compile,test,package,install阶段。在同一套生命周期中,阶段是有顺序的,先运行前面的阶段,再运行后面的阶段(运行后面的,前面的也会运行)。
顺序如下:

compile(编译成class字节码文件)-> test(使用合适的单元测试框架junit)-> package(将编译后的文件打包,如jar,war)-> install(将打包好的项目安装到本地仓库)
clean(target目录就没了)
在这里插入图片描述

运行方式:
方式1->双击上图对应位置
方式2->cmd中输入mvn compile,mvn clean等命令
在这里插入图片描述

由于在同一套生命周期中,阶段是有顺序的,先运行前面的阶段,再运行后面的阶段;想要绕过某个生命周期的话,就可以点击圆加斜线(toggle ‘skip tests’ mode)

注意:maven的所有生命周期都是抽象的概念,并不执行具体的操作,具体的操作是由与其绑定的插件完成的,maven本质就是一个插件执行框架。
在这里插入图片描述

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com