当前位置: 首页> 游戏> 攻略 > maven基本操作和配置(idea版基础版)

maven基本操作和配置(idea版基础版)

时间:2025/7/12 10:41:07来源:https://blog.csdn.net/m0_74365142/article/details/139606555 浏览次数:1次

写在前面:为一位朋友写的一个博客,有需要都可以查看!

一、maven是什么?

一句话:管理依赖工具,统一项目结构便于开发,把项目开发和管理的过程抽象成对象模型来管理(pom模型)

基本项目结构概念图:

19ab3e57db3b496fad76f000471d551b.png

maven流程:本质还是来自中央仓库(国外)我们访问起来较困难,所以有必要配置一个镜像或者你使用魔法!

1027beeb302647e18d6b6457d968e107.png

二、maven的下载安装

maven下载地址(点击跳转)

如果你的是Linux系统(或虚拟机中的Linux)使用targz文件,Windows使用zip文件

4d7d48e90f564f13a84c453395fcc12c.png

下载之后安装直接解压在你想要放的位置:

如果你已经配置了Java_home那就不用再配置这个环境了但需要配置MAVEN_HOME:

这个是新建一个系统环境变量:

27d3c25ee6b94560bf0168c326eaf772.png

path环境变量:

62dc53869e9c4353a23e24a0e3464609.png

建议上移至最上方不移动一般也可以!

检验是否配置完成:

4c4be0dc6c144319b9aa7268a3caf4d2.png

出现这个界面就说明成功了!

三、maven仓库配置基础

先来一张图(了解三种仓库):

f887a1c6072649a7bedfca90d8f4ff45.png

素材来源于网络

资源坐标:

maven坐标组成:

groupId:定义当前Maven项目隶属于组织名称

artifactId:定义当前项目名称

version:定义当前版本(不必须,因为后期如果使用springboot框架继承的父项目会带有版本防止依赖冲突)

packaging:定义项目打包方式(不属于maven坐标组成但是很重要)


依赖官网(所有的坐标都是以官方为准需要时直接查,尽量不要自己写,当然除了一些常用的坐标非常熟悉了就不用查了):maven依赖查看地址点击跳转这个网址可能会陪伴Java工程师一辈子(一定要记住哟)!

71488b4cbaa74f8195ca3c1ea94bee10.png

这就是坐标直接复制用!


仓库配置(便于管理和引入依赖):

先建一个目录:(任意地方建议是D盘):

e8dd21bac40e41c394922396c011c98a.png

接下来改配置:

进入到conf->settings.xml:

89807aacd2144da790a8a46d345156b7.png

把最后一行改成你自己的新建的仓库地址即可

镜像配置(阿里云镜像):

2fc2f80a3beb402fa85c59b08daf2b1e.png

引入alimaven坐标!

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

示意:

34cb60d69f6d48bdbd6ed3089d65da7b.png

到这里就已经完成了maven的搭建了!


四、IDEA创建maven工程

先以最原始的方法创建:

创建一个空项目(建议直接创建maven项目不要创建空项目):

84d339aab00a48a980ffea1e47058710.png

直接创建:

91d42cde894c414dbe1f08acb29798e3.png

完成maven配置引用:

00aefe69d0424c8e9c85c70b840097ff.png

在设置中找到你的构建工具需要配置的项是:Maven主路径,用户设置文件,本地仓库改成你自己的路径!

直接创建maven工程:

创建maven工程(这里可以选择模板比如说webapp做web开发等等):

f2f0ed5315d1414ea48cae319ec5abf3.png

创建之后:

54c686d5e1f948bfb20d068eaa5c46fd.png

在pom就可以引入你想要的依赖了(记得刷新):

f3c42a15b6b0483abaca10cc74bf2107.png

刷新按钮:

511779f6cdac4797bc8a39c87ffab4f1.png

这里是插件:

9742ae0056cf462db2dfdfa165a33322.png

这里就是依赖(用到就引入依赖坐标):

0b89c7b2a4a84f2ca95f45baf9a66b36.png

五、依赖管理:

依赖传递:

7ffa790c456b4e1080ee838471e95532.png

c4e795492f1340baa0242029d65f54af.png

这两个依赖都是另外的模块:

7424ff4d4811416abf615d652a081b6f.png

47b0829e12d54d78a85255d96d557669.png

这样另外两个模块的依赖在引用方也能使用!

依赖冲突:

9606fb899bbc4532a4b25a3c93cd5f39.png

路径优先原则:当依赖中有相同的资源时层级越深优先级越低

声明优先原则:当资源在相同的层级时,配置顺序靠前的覆盖配置顺序靠后的

特殊优先原则:当同级配置了相同资源的不同版本,后面配置的覆盖前面的


可选依赖:

c3537748a76e4d92933270ac9066c56e.png

对外隐藏不能被外界使用(私房钱)被动断开!

排除依赖:

7e0728b5591f4b12b847d5dfdbf9b0bb.png

你传过来了依赖,我不要,就可以排除掉(不写版本)主动断开!


依赖属性(scop):

2e4fd1cf9998418aa40703aebcca5a2f.png

配置scop有这几个范围:

d0a31386f9824516a2a7db30dcc08e66.png

比如:

663a7db3a6f941109169f7ffafb44ba3.png

这就是在编译时起作用!

依赖范围的传递性(记住这张表):

c1e35d8031c64223aaa9abab0634a2b6.png

解释:

直接依赖假设为项目一,间接依赖假设为项目二:

当项目一配置为compile项目二配置为compile结果在项目二就是compile;

在项目一中配置compile项目二配置为runtime结果就是项目二为runtime;


ok!先简单入个门,一定要亲自操作!后面还有很多种情况:分模块开发,版本管理,资源配置,配置私服等等!很多,任重而道远,此处为初学者使用!有什么问题都可以在评论区留言!

396c754a759247dd9945687b18ddb340.png

关键字:maven基本操作和配置(idea版基础版)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: