Maven超详细使用

news2024/9/23 5:29:24

定义

是一款用于管理和构建java项目的工具

作用

1. 依赖管理
2. 统一项目结构
3. 项目构建

项目目录结构

POM

项目对象模型 (Project Object Model)

POM (Project Object Model) :指的是项目对象模型,用来描述当前的maven项目。

仓库

本地仓库:自己计算机上的一个目录

中央仓库:由Maven团队维护的全球唯一的

远程仓库:一般由公司团队搭建的私有仓库

使用

1.下载完maven后在目录中新建一个文件夹

2.进入到conf目录下修改settings.xml配置文件 

1). 使用超级记事本软件,打开settings.xml文件,定位到53行

2). 复制<localRepository>标签,粘贴到注释的外面(55行)

3). 复制之前新建的用来存储jar包的路径,替换掉<localRepository>标签体内容

3.配置阿里云私服

进入到conf目录下修改settings.xml配置文件:

1). 使用超级记事本软件,打开settings.xml文件,定位到160行左右

2). 在<mirrors>标签下为其添加子标签<mirror>,内容如下:

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

4.配置环境变量(两步)

打开cmd输入命令看是否安装成功

IDEA集成Maven

1.选择所有设置,就不用再一个一个配置。

2、设置IDEA使用本地安装的Maven,并修改配置文件及本地仓库路径

3、配置工程的编译版本为21(数字为你自己JDK的版本)

创建Maven项目

坐标

* Maven中的坐标是==资源的唯一标识== , 通过该坐标可以唯一定位资源位置
* 使用坐标来定义项目或引入项目中需要的依赖

Maven坐标主要组成

* groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
* artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
* version:定义当前项目版本号

导入maven项目

打开IDEA,选择右侧Maven面板,点击 + 号,选中对应项目的pom.xml文件,双击即可

依赖管理

依赖配置

1. 在pom.xml中编写<dependencies>标签

2. 在<dependencies>标签中使用<dependency>引入坐标

3. 定义坐标的 groupId、artifactId、version

4.记得点击刷新依赖按钮

<dependencies>
    <!-- 第1个依赖 : logback -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.11</version>
    </dependency>
    <!-- 第2个依赖 : junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
</dependencies>

依赖传递

依赖具有传递性

- projectA依赖了projectB。对于projectA 来说,projectB 就是直接依赖。
- 而projectB依赖了projectC及其他jar包。 那么此时,在projectA中也会将projectC的依赖传递下来。对于projectA 来说,projectC就是间接依赖。

排除依赖:

<!--排除依赖, 主动断开依赖的资源-->
    <exclusions>
    	<exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </exclusion>
    </exclusions>

依赖范围

如果希望限制依赖的使用范围,可以通过<scope>标签设置其作用范围。

生命周期

三套生命周期

  • clean:清理工作。

  • default:核心工作。如:编译、测试、打包、安装、部署等。

  • site:生成报告、发布站点等。

主要关注以下几个:

• clean:移除上一次构建生成的文件

• compile:编译项目源代码

• test:使用合适的单元测试框架运行测试(junit)

• package:将编译后的文件打包,如:jar、war等

• install:安装项目到本地仓库

在同一套生命周期中,我们在执行后面的生命周期时,前面的生命周期都会执行

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习|基础算法】3.VggNet(附训练|推理代码)

这里写目录标题 1.摘要2.Vgg的网络架构3.代码backbonetrainpredict 4.训练记录5.推理onnxruntime推理export_onnx openvino推理tensorrt推理 1.摘要 vgg是由牛津大学视觉几何组&#xff08;Visual Geometry Group&#xff09;的这篇论文中提出的模型&#xff0c;并且在2014年的…

C#版Facefusion ,换脸器和增强器

C#版Facefusion &#xff0c;换脸器和增强器 目录 说明 效果 项目 调用代码 说明 Facefusion是一款最新的开源AI视频/图片换脸项目。是原来ROOP的项目的延续。项目官方介绍只有一句话&#xff0c;下一代换脸器和增强器。 代码实现参考 https://github.com/facefusion/f…

Windows中通过cmd查看以保存的WiFi密码

1、要以管理员身份运行CMD 要以管理员身份运行CMD 2、查看以保存的所有WiFi 执行命令 netsh wlan show profiles 会显示所有已保存的wifi 3、这里查看已经保存的WiFi HLS_HMD 的密码 执行命令查看&#xff1a; netsh wlan show profile name"HLS_HMD&qu…

【Java开发指南 | 第四篇】Java常量、自动类型转换、修饰符

读者可订阅专栏&#xff1a;Java开发指南 |【CSDN秋说】 文章目录 Java常量自动类型转换Java修饰符 Java常量 常量在程序运行时是不能被修改的。 在 Java 中使用 final 关键字来修饰常量&#xff0c;声明方式和变量类似&#xff1a; final double PI 3.1415927;自动类型转换…

app证书在设置在哪

根据近日工业和信息化部发布的《工业和信息化部关于开展移动互联网应用程序备案工作的通知》&#xff0c;相信不少要进行IOS平台App备案的朋友遇到了一个问题&#xff0c;就是apple不提供云管理式证书的下载&#xff0c;也就无法获取公钥及证书SHA-1指纹。 已经上架的应用不想重…

ruoyi的一些gateway传token的一些问题

ruoyi的一些gateway传token的一些问题 1、gateway会处理授权信息 2、authorization: Bearer 253f2bd990754ca4aae22e1f755b17fe 是一个很简单的信息。 去授权信息&#xff0c;用这个token做验证。然后封装一个user在内部传递。 这个是不会暴露在最外面的请求中的。 还会放一…

RMAN数据迁移方案

数据迁移 Oracle环境检查 开启归档 1.首先关闭数据库 shutdown immediate; 2.打开mount状态 startup mount; 3.更改数据库为归档模式 alter database archivelog; 4.打开数据库 alter database open; 5.再次检查 archive log list; 查看构造的表和数据 由于数据会有中文&…

redis复习笔记08(小滴课堂)

案例实战需求之大数据下的用户画像标签去重 我们就简单的做到了去重了。 案例实战社交应用里面之关注、粉丝、共同好友案例 这就是我们set的一个应用。 案例实战之SortedSet用户积分实时榜单最佳实践 准备积分类对象&#xff1a; 我们加上构造方法和判断相等的equals和hascod…

C语言是不是要跟不上社会需求了?

C 语言是否已经难以跟上社会需求的步伐了呢&#xff1f;有这么一位网友曾提及&#xff0c;就在几天前&#xff0c;他遭受了老板的严厉批评&#xff0c;原因便是他仅仅精通 C 语言编程&#xff0c;已然无法满足老板的实际需求。事实上&#xff0c;C 语言在嵌入式领域仍旧拥有着极…

Depth maps转点云

前言 本文主要记录一下如何可视化相机位姿&#xff0c;如何用Blender得到的深度图反投影到3D空间&#xff0c;得到相应的点云。 Refernce https://github.com/colmap/colmap/issues/1106 https://github.com/IntelRealSense/librealsense/issues/12090 https://medium.com/yod…

图灵奖简介及2023年获奖者Avi Wigderson的贡献

No.内容链接1Openlayers 【入门教程】 - 【源代码示例300】 2Leaflet 【入门教程】 - 【源代码图文示例 150】 3Cesium 【入门教程】 - 【源代码图文示例200】 4MapboxGL【入门教程】 - 【源代码图文示例150】 5前端就业宝典 【面试题详细答案 1000】 文章目录 2023年的…

C语言基础入门案例(1)

目录 第一题&#xff1a;实现大衍数列的打印 第二题&#xff1a;生成所有由1、2、3、4组成的互不相同且无重复数字的三位数&#xff0c;并计算总数 第三题&#xff1a;整数加法计算器 第四题&#xff1a;实现一个范围累加和函数 第五题&#xff1a;编写一个函数计算整数的阶…

Webscoket简单demo介绍

前言 WebSocket 是从 HTML5 开始⽀持的⼀种⽹⻚端和服务端保持⻓连接的 消息推送机制. 理解消息推送: 传统的 web 程序, 都是属于 “⼀问⼀答” 的形式. 客⼾端给服务器发送了⼀个 HTTP 请求, 服务器给客 ⼾端返回⼀个 HTTP 响应.这种情况下, 服务器是属于被动的⼀⽅. 如果客⼾…

分类预测 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络数据分类预测

分类预测 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络数据分类预测 目录 分类预测 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现OOA-BP鱼鹰算法优化BP神经网络多特征分类预测&#xff08;完整源码和数…

Win7开机进不了系统一直再自动修复,只能选禁用驱动签名才能进系统 其它模式都不行

环境&#xff1a; Win7专业版 问题描述&#xff1a; Win7开机进不了系统一直再修复&#xff0c;只能选禁用驱动签名才能进系统 其它模式都不行 解决方案&#xff1a; 1.开机按F8&#xff0c;选择禁用驱动签名进系统 2.查看系统日志文件定位错误原因 3.我这是DsArk64.sys导…

JS-32-jQuery01-jQuery的引入

一、初识jQuery jQuery是JavaScript世界中使用最广泛的一个库。鉴于它如此流行&#xff0c;又如此好用&#xff0c;所以每一个入门JavaScript的前端工程师都应该了解和学习它。 jQuery是一个优秀的JS函数库。 &#xff08;对BOM和DOM的封装&#xff09; jQuery这么流行&#x…

Flink设计运行原理 | 大数据技术

⭐简单说两句⭐ ✨ 正在努力的小新~ &#x1f496; 超级爱分享&#xff0c;分享各种有趣干货&#xff01; &#x1f469;‍&#x1f4bb; 提供&#xff1a;模拟面试 | 简历诊断 | 独家简历模板 &#x1f308; 感谢关注&#xff0c;关注了你就是我的超级粉丝啦&#xff01; &…

计算机毕业设计springboot小区物业报修管理系统m8x57

该物业报修管理系统实施的目的在于帮助物业管理企业升级员工管理、住户管理、报修问题管理等内部管理平台&#xff0c;整合物业管理企业物力和人力&#xff0c;全面服务于维修人员管理的内部管理需求,并重视需求驱动、管理创新、与业主交流等外部需求,通过物业管理企业各项资源…

ArrayList部分底层源码分析

JDK版本为1.8.0_271&#xff0c;以插入和删除元素为例&#xff0c;部分源码如下&#xff1a; // 部分属性 transient Object[] elementData; // 底层数组 private int size; // 记录元素个数 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA {}; // 空Obje…

异地组网怎么安装?

异地组网安装是指在不同地域的多个设备之间建立网络连接&#xff0c;以便实现数据传输和协同工作的过程。在如今的数字化时代&#xff0c;异地组网安装已经成为了许多企业和组织所必需的一项技术。 天联的使用场景 在异地组网安装中&#xff0c;天联是一种常用的工具。它具有以…