Maven的基本使用

Maven的基本使用

  • 一、为什么要使用Maven
    • 1.1 方便添加第三方Jar包
    • 1.2 方便获取第三方Jar包(中央仓库)
    • 1.3 解决了依赖问题
    • 1.4 解决了依赖冲突
    • 1.4 项目管理更清晰
    • 1.5 总结
  • 二、Maven的下载
  • 三、配置Maven本地仓库和中央仓库
    • 3.1 Settings文件
    • 3.2 配置本地仓库
    • 3.3 配置中央仓库(镜像地址)
  • 四、如何在IDEA中使用Maven
    • 4.1 IDEA中配置Maven
    • 4.2 IDEA中使用Maven
    • 4.3 代码实例
    • 4.3 打包方式
  • 五、Lifecycle

一、为什么要使用Maven

1.1 方便添加第三方Jar包

刚开始用Maven的时候 本地仓库是空的
后面会越用越多 但是同样的Jar包只会下载一次

传统的拷贝jar包到lib目录下的方式 太消耗空间资源 甚至会影响到项目运行效率
在这里插入图片描述

1.2 方便获取第三方Jar包(中央仓库)

项目运行 现在本地仓库找 如果没有 这个时候就会去Maven的中央仓库去下载(需要联网)到本地仓库 然后再跟上面那样建立连接
这样不仅省事 而且从中央仓库下载来的jar更规范准确

1.3 解决了依赖问题

Maven很好的解决了有些jar包的依赖问题
在这里插入图片描述

1.4 解决了依赖冲突

Maven可以解决包之间的冲突

在这里插入图片描述

1.4 项目管理更清晰

就是一种解耦的思想
模块化编程
在这里插入图片描述

1.5 总结

Maven的优势主要在于对于Jar包的管理(导包 下包 解决依赖冲突等问题)
以及对于项目的管理(项目的模块化拆分)
在这里插入图片描述
Maven项目的结构很经典
下面这种结构看到了就知道是Maven项目
在这里插入图片描述

二、Maven的下载

我的安装位置
在这里插入图片描述

配置环境变量 建议就在系统变量那里配
在这里插入图片描述在这里插入图片描述

cmd使用mvn -v测试
注意:之前JDK配置的环境变量 按照约定 最好就写成%JAVA_HOME%
虽然说变量名是随意的
但是比如说Maven 这些依赖Java的软件 他会自动检索JDK(默认找JAVA_HOME)
如果不配置成JAVA_HOME 那么mvn -v 可能会报错

打印了Maven版本信息 同时也打印了JDK版本
这也说明Maven也是用Java写的 需要Java的环境
在这里插入图片描述

三、配置Maven本地仓库和中央仓库

3.1 Settings文件

要对Maven做一系列个性化设置 都在这里改
在这里插入图片描述

3.2 配置本地仓库

默认情况如下在C:\Users\Administrator.m2\repository
所以啥也不改 也能用
但是一直往C盘下东西显然是不太好的在这里插入图片描述

更改本地仓库
在这里插入图片描述

3.3 配置中央仓库(镜像地址)

默认的网址是国外的
访问卡的一批
所以说要重新制定一下
要不然在默认地址下载需要的jar包太慢了
在这里插入图片描述

镜像可以简单的理解为
国内有一些大厂把国外他们服务器上的jar包拷贝了一份放在国内的服务器上
由国内的厂商来维护
这里配置的是阿里云的镜像地址

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

四、如何在IDEA中使用Maven

4.1 IDEA中配置Maven

在不做任何配置之前 Maven和我的编译器毫无关联
在这里插入图片描述

上面三个是必须配置的
接下来的建议也配置好 虽然不影响使用
在这里插入图片描述

4.2 IDEA中使用Maven

创建空项目
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4.3 代码实例

main目录用于存放主程序
java目录用于存放源代码文件
resources目录用于存放配置文件和资源文件
test目录用于存放测试程序

在这里插入图片描述

在这里插入图片描述

4.3 打包方式

默认情况下打成jar包(纯服务端 没前端 打包成jar就行)
如果是web工程 建议打包成war包(不仅有后端代码 还有前端代码 比如jsp等)
如果出现了继承 就是pom包(作为父工程出现)
给pom方式的去打包 不会生成jar包 会生成一个pom文件
在这里插入图片描述

五、Lifecycle

在这里插入图片描述

clean:清理一下生成的.class那些文件
validate:检查一下当前的Maven项目结构是否正常
compile:把main下的代码 编译成.class文件 这里针对main目录下的代码
test:把test目录下的代码编译成.class文件并输出结果这里针对的是test目录下的代码
注意:如果我直接执行test 也是可以的 前面的几步都会一起完成
package:打包当前的模块/项目

install:把当前项目打包成jar包并且保存到本地仓库去
这里的具体位置由IDEA Settings指定的仓库位置+本项目/模块的坐标来决定
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/537914.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

已经连接过的网络的密码忘记了,怎么快速找回?

使用笔记本电脑曾经连接过一些无线路由器&#xff0c;时间久了&#xff0c;密码可能就忘记了。再使用其他设备连接时&#xff0c;就需要尝试去找到这个密码。本片文章就是通过几个命令快速找到之前使用笔记本电脑曾经连接过的无线网络的密码。 第一步、查看曾经连接过哪些无线网…

2024年将人力RPO项目当蓝海项目吗?

随着科技的快速发展和全球化趋势的加强&#xff0c;人力资源外包(RPO)项目在过去的几年中异军突起&#xff0c;成为企业优化人力资源配置、降低运营成本的重要手段。然而&#xff0c;到了2024年&#xff0c;我们是否还能将人力RPO项目视为一片尚待开发的蓝海呢? 从市场角度来看…

膝关节痛做什么锻炼好得快?这些运动对膝关节很“友好”!

膝关节不是身体中最常受伤的部位&#xff0c;却是最薄弱、要求最高的关节&#xff0c;原因是膝关节承受人的整个重量&#xff0c;而且由于活动范围大&#xff0c;极容易造成膝关节疼痛。 膝关节疼痛多发生于青年人&#xff0c;如田径、登山运动员&#xff0c;舞蹈演员等。发病率…

蓝桥杯算法错题记录-基础篇

文章目录 本文还在跟新&#xff0c;最新跟新时间3/11&#xff01;&#xff01;&#xff01; 格式一定要符合要求&#xff0c;&#xff08;输入&#xff0c;输出格式&#xff09;1. nextInt () next() nextLine() 的注意事项2 .数的幂 a^2等3.得到最大长度&#xff08;最大...&a…

Gitee的注册和代码提交(附有下载链接)

目录 一、Git的下载和安装二、安装图形化界面工具三、在Gitee上创建仓库四、如何把仓库开源五、Clone远程仓库到本地六、拷贝代码到本地的仓库七、Add-Commit-Push到远程仓库八、可能出现的问题8.1 建议在本地仓库直接创建项目8.2 第一次Push可能出现的问题8.3 怎么删除Gitee上…

挑战杯 机器学习股票大数据量化分析与预测系统 - python 挑战杯

文章目录 0 前言1 课题背景2 实现效果UI界面设计web预测界面RSRS选股界面 3 软件架构4 工具介绍Flask框架MySQL数据库LSTM 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 机器学习股票大数据量化分析与预测系统 该项目较为新颖&am…

悲观锁和乐观锁

如果将悲观锁&#xff08;Pessimistic Lock&#xff09;和乐观锁&#xff08;PessimisticLock 或 OptimisticLock&#xff09;对应到现实生活中来。悲观锁有点像是一位比较悲观&#xff08;也可以说是未雨绸缪&#xff09;的人&#xff0c;总是会假设最坏的情况&#xff0c;避免…

【JS】浅谈浅拷贝与深拷贝

浅拷贝与深拷贝 前言一、浅拷贝&#xff1f;1.1是什么&#xff1f;1.2做什么&#xff1f;1.3为什么使用&#xff1f;1.4实现方式&#xff1f;1.5 应用场景&#xff1f; 二、深拷贝&#xff1f;2.1是什么&#xff1f;2.2做什么&#xff1f;2.3为什么使用&#xff1f;2.4实现方式…

闪回技术

目录 闪回技术 恢复mybonus表 彻底删除mybonus表 清空回收站 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 闪回技术 Flash Back 给予用户最为直接的支持之一就是给了用户后悔的机会 但是现在如果用户想去操作这个…

基于Java+SpringBoot+vue+element实现物流管理系统

基于JavaSpringBootvueelement实现物流管理系统 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 ** 作者主页 央顺技术团队** 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 基于JavaSpr…

Git 遇到合并冲突如何解决

Git 遇到合并冲突解决方法 前言一、解决冲突 回滚二、将解冲突后的文件 提交到暂存区三、git commit 提交代码到本地Git仓库四、git push 提交五、注意 ​ 2024/3/13 前言 Git突然无法拉取下来&#xff0c;显示有合并冲突&#xff1a; 步骤&#xff1a;解决回滚解决冲突后、添…

Android 异常重启--踩坑归来--干货篇

如果你未对自己的app进行过处理&#xff0c;那么线上各种偶发莫名其妙的闪退、白屏、数据丢失&#xff0c;请检查一下是否因此而引发的。 起因 异常重建指的是非配置变更情况下导致的 Activity 重新创建。 常见场景大多是因为内存等资源不足&#xff0c;从而导致后台应用被系…