《JavaEE进阶》----2.<Spring前传:Maven项目管理工具>

2024-08-28 01:20

本文主要是介绍《JavaEE进阶》----2.<Spring前传:Maven项目管理工具>,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本篇博客讲解我们在使用Spring框架时所要用到的Maven这个项目管理工具
它可以更方便的管理我们的项目,比如通过

1.常用的Maven命令来进行编译、测试、打包、清理包等等,不仅如此,

2.Maven还可以对依赖进行管理,方便我们添加依赖、管理依赖。让我们快速获取到我们想要的依赖,而不用自己添加依赖的jar包。

一、Maven项目管理工具

1.1什么是Maven

Maven是⼀个项目管理⼯具。基于POM(Project Object Model,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的项⽬管理工具软件。

Maven我的理解

大白话: Maven是⼀个项目管理⼯具, 通过pom.xml文件的配置获取jar包,而不用手动去添加jar包

注:maven是可以单独使用的,跟idea没关系,只是idea把maven集成进来了

1.2 为什么要学Maven

⼀句话: 简单,方便,

提高我们的开发效率,减少我们的开发Bug.Maven提供的功能非常多

Maven我们主要是了解以下两个方面:
1. 项目构建
2. 管理依赖

1.3项⽬构建

创建maven项目

如下图在构建系统中选择Maven

1.4 Maven命令

在右边我们可以找到一个有M的图标,那就是Maven。相当于Maven的管理工具。

Maven的一些命令也在里面

常用命令 

clean  清理class文件。可以把包清理掉。(通常是target目录。)

package   打包。点击之后会进行打jar包,此时idea文件目录中会出现target文件。包就在这里面。当出现BUILD SUCCESS说明打包成功。

install   编译、测试、打包,并将构建好的jar/war包安装到本地 Maven 仓库。工作中常用来发布包到本地。

deploy 编译、测试、打包,并将构建的工件部署到远程 Maven 仓库。工作中常用来发布包到远程Maven仓库。

其他命令

compile:编译项目的源代码,将.java文件编译为.class文件,在开发过程中检查代码的编译是否成功,或在构建前进行编译。

test:运行项目中的单元测试。验证代码的正确性,确保新代码没有破坏现有功能。

validate:当你刚刚创建或修改了pom.xml时,检查其配置是否有效。

site:生成项目的站点文档,包括项目的各种报告(如 Javadoc、测试报告、依赖关系等)。当你需要生成项目文档以供查看或发布时会用到

verify:执行项目的集成测试,验证项目是否已准备好进行发布。它包括编译、测试等步骤,并在这之后运行可能存在的集成测试。当你需要确保项目中的代码不仅通过了单元测试,还通过了集成测试,并符合发布标准时使用。

1.5依赖管理

上面说到,Maven是⼀个项目管理⼯具,

通过pom.xml文件的配置获取jar包,而不用手动去添加jar包
获取的jar包,其实就是依赖.
pom.xml就是maven的配置⽂件,用以描述项⽬的各种信息

如下图,在文件目录中找到pom.xml文件

依赖配置
依赖:指当前项⽬运⾏所需要的jar包.


添加依赖

如果大家了解了前端,那么相当于我们在<dependencies>标签中添加依赖的坐标。,如下。
<dependencies>
这里面放置依赖的坐标,可以为多个。
</dependencies>

通过

<dependencies>

              <dependency> 

             </dependency>

</dependencies>

进行添加依赖

示例(我们添加8.0.30版本的mysql依赖):

<dependency>

        < groupId>mysql<groupId>

        <artifactId>mysql-connector-java<artifactId>

        <version>8.0.30<version>

<dependency>

代码编写好之后,需要点击刷新按钮就可以完成添加依赖,

此时我们就可以看见旁边文件目录中多了些jar包

例如:我们添加依赖如下

<dependencies>

        <dependency> 

                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.30</version>

        </dependency>

</dependencies>

 再点击这个刷新按钮,如果没有我们点击旁边的m。

此时如上图,就出现了刷新的按钮。

第二行,第一个刷新按钮也是可以进行刷新的。

我们点击刷新之后:我们在左边外部库中观察依赖有没有进来

 

我们发现,在外部库中,除了最开始有的<1.8>

还多了两个有关于Maven的。

其中第一个是mysql的依赖。是mysql还需要依赖的别的jar包

第二个则是我们添加的

我们发现Maven依赖不仅把当前的jar包依赖进行,还把这个jar包依赖的jar包依赖进来到项目之中

Maven对我们进行的依赖管理,会把当前依赖的依赖也会引入到当前项目中。

多余的那个是因为mysql应用的那个jar包里面的东西,因此也会被依赖到项目之中。

查看依赖关系

此时 我们需要用到一个插件来进行查看依赖关系

安装Maven Helper插件        

安装插件

主菜单>设置>插件

安装完之后pom文件中会出现一个插件框

文本旁边的选项,就是进行依赖分析的。点击之后,我们就会看到依赖关系 

 

上面有多种模式来展示依赖关系

1.Conflicts冲突

2.所有依赖以列表形式显示

3.所有依赖以树的结构显示

4.显示组ID

5.显示依赖大小

依赖代码分析

<dependencies>

        <dependency> 

                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.30</version>

        </dependency>

</dependencies>

 整个描述我们称之为依赖的坐标,我们可以确定jar包固定的位置

是基于Maven仓库的坐标

Maven仓库地址:

仓库的分类:

分为

本地仓库:随着使用时间越来越长,下载jar包越来越多占用硬盘空间越来越大

远程仓库

其中

远程仓库又分为中央仓库和私有仓库

本地仓库地址:

远程仓库地址:

1.仓库地址:中央仓库地址https://repo1.maven.org/maven2/

2.查询界面地址: 查询界面https://mvnrepository.com/

这两个有可能不一致, 以仓库地址为准。查询界面会有一定的滞后性。

仓库地址在国外。

 3.国内源:将国外的仓库地址搬到国内.我们可以自己设置

4.私服:中央仓库和国内源都是公开的,所有人都可以看到,企业开发时,一些项目代码具有一定的私密性。不会公开,因此企业会建立自己的私服,访问需要账号密码。

1.6刷新依赖来源

我们自己引入依赖:

本地仓库   >   本地仓库去中央仓库拿,下载后从本地仓库拿。

本地仓库最开始的时候是空的。最终我们所使用到的代码都可以从本地仓库拿

私服:

先从本地仓库拿,若没有去私服,私服也没有去中央仓库拿。返回到私服,私服再返回到本地。

一个jar包只下载一次。本地没有则去私服拿,私服没有才会去中央仓库拿 

中央仓库也包含国内源。 

1.7设置国内源(访问会更快)

仅限于在学习阶段,公司中不用国内源,而是直接用私服。若在公司去找同事要setting文件就好了。

setting文件用来配置Maven。

因为公司可能不让用Maven的阿里云镜像地址等等。。

这样setting文件里会包含公司的私服账号地址密码等等信息

在设置中,找到构建、执行、部署。中构建工具中有Maven项。用户设置文件中有setting文件。

如下图

在其中找到用户设置文件。打开文件,里面有一个settings.xml 

如何设置国内源? 

1.修改settings.xml文件

2.如果没有settings.xml文件,则找一个。

Maven仓库默认在国外https://mvnrepository.com/,国内使⽤时会⽐较慢,我们可以更换为阿⾥云的仓库
也可以选择别的仓库,参考:Maven镜像地址⼤全


打开settings.xml,在mirrors节点上,添加内容如下:
<mirror>
        <id>aliyunmaven</id>
        <mirrorOf>central</mirrorOf>
        <name>阿⾥云公共仓库</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

settting文件在我的桌面中的Maven配置文件中哦

注意:所设置的目录,如项目路径,等不要有中文路径!!!!

目录如果包含中文,如何修改?

1.创建你期望放的目录

2.进入当前Maven配置目录到.m2

3.复制.m2中的文件到你创建的目录

4.修改idea配置

  • 修改Maven仓库目录

修改用户设置文件目录和本地仓库目录。并且打上两个重写的√

注意分别指定settings.xml文件和repository

  • 新项目设置

选择文件->新建项目设置->新项目的设置->构建、执行、部署->构建工具->Maven

再把相应目录重写改一下。

这篇关于《JavaEE进阶》----2.<Spring前传:Maven项目管理工具>的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1113325

相关文章

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu