首页 > 其他分享 >Maven的学习

Maven的学习

时间:2024-10-22 21:01:00浏览次数:8  
标签:学习 java 项目 书写 jar Maven test

Maven 安装与配置

今天我们来学习一下Maven,Maven就相当于一个管理的工具,原理就是使用一个插件,这个插件由多个jar包构成。

在一个公司的项目开发过程中,一个大的项目通常被分为好几个小的模块,由不同的人去完成,但是不同的人在开发的过程中,使用的组件,jar包难免会有不同,所以在整合的时候会出现一些版本号不同所导致的一些错误。那么怎么避免这个错误呢?

这就要用到Maven了,Maven在其中的作用就相当于一个中央仓库,每一个开发的人都可以使用Maven中的一些jar包,也可以将自己所完成的jar导入Maven这个中央仓库,在项目开发中这些jar包通常由项目管理人员指定的,这样能最大程度的避免因为版本号不同所导致的错误。

maven概述

一、获取Maven

1、下载Maven

Snipaste_2024-10-22_11-29-10

2、解压Maven压缩包到本地目录

Snipaste_2024-10-22_11-31-31

3、配置D:\soft\apache-maven-3.5.2-bin\apache-maven-3.5.2\conf\settings.xml文件

  • 修改本地仓库地址

Snipaste_2024-10-22_14-01-23

  • 修改镜像源地址

Snipaste_2024-10-22_14-02-33

4、配置环境变量

右击电脑属性,找到高级系统设置,在里面有一个环境变量

image-20241022192916558

在系统环境变量里新建一个MAVEN_HOME,变量名设为解压后的Maven文件根目录

image-20241022193121571

再在系统变量里找到Path变量,在里面加上%MAVEN_HOME%\bin

image-20241022193500032

配置完成后可以打开cmd窗口输入mvn - v查看版本号来验证是否安装成功

image-20241022193819381

到此环境变量就配置好了,Maven也基本下载安装完毕。

二、认识Maven

我们安装完Maven之后可能在想,Maven是什么,有什么功能?

  • Maven翻译成中文就是大师、专家、内行的意思

  • Maven是一款自动化构建工具,专注服务于Java平台的项目构建依赖管理

  • 依赖管理:jar之间的依赖关系,jar包管理问题统称为依赖管理

  • 项目构建:项目构建不等同于创建项目

    ​ 项目构建分成7步,创建项目是一瞬间完成的

    ​ 1、清理

    ​ 2、编译

    ​ 3、测试

    ​ 4、报告

    ​ 5、打包

    ​ 6、安装

    ​ 7、部署

三、Maven与Idea及相关应用

1、首先创建一个Maven项目文件

image-20241022195339458

2、在settings里面搜索Maven,然后在Maven home path里面选择自己下载的版本,并选好settings file 和本地仓库

image-20241022195845042

四、Maven核心

1、pom文件

pom.xml全称:Project Object Model【项目对象模型】,将项目封装为对象模型,便于使用Maven管理【构建】项目

pom.xml常用标签:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--设置工程坐标 -->
    <parent>
        <groupId>com.shujia</groupId>
        <artifactId>Maven</artifactId>
        <version>1.0</version>
    </parent>

    <artifactId>java</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>

    </dependencies>
    
</project>

2、Maven约定的目录结构

项目名

src【书写java源代码】

main【书写java主程序代码】

java【书写java代码】

resources【书写配置文件代码】

test【书写测试代码】

java【书写测试java代码】

pom.xml【书写配置文件代码】

target【编译后目录结构

3、Maven的生命周期

Maven的生命周期分为3部分

  • Clean 单独作为一个生命周期
  • compile【编译】,test【测试】,package【打包】,install【安装】,deploy【部署】。是构建的核心部分
  • validate,verify,site是第三部分生成项目报告,站点,发布站点。

image-20241022205154280

生命周期不是一步直接执行的,是在三部分里依次执行,就比如我想要执行package,就必须先执行compile,test,再执行package结束,同理我想要执行,install,就必须先执行compile,test,package,再执行install结束

标签:学习,java,项目,书写,jar,Maven,test
From: https://www.cnblogs.com/qianzhiqiang798/p/18493723

相关文章

  • 【数字化转型到底转了啥?】学习华为HCIP认证后谈谈华为的数字化转型
     背景: 最近正在学习华为HCIP认证相关课程,其中第一讲就是关于企业架构和数字化转型的课程。谈一谈总结和感想,华为的数字化转型,真的就像是一次华丽的蜕变,他们通过数字化转型,把业务都重新梳理了一遍,让效率变得超级高,客户体验也变得超级棒。这种变革,真的让人感受到了数字化转型......
  • 黑马程序员Java进阶学习(三)
    异常Java的异常体系异常的基本处理异常的作用异常是什么?异常是代码在编译或者执行的过程中可能出现的错误。异常的代表是谁?分为几类?Exception,分为两类:编译时异常、运行时异常。编译时异常:没有继承RuntimeExcpetion的异常,编译阶段就会出错。运行时异常:继承自Runtim......
  • 【Elasticsearch】分布式搜索引擎技术学习[上]
    目录一.认识与了解搜索引擎1.介绍2.安装二.初步了解Elasticsearch1.倒排索引2.IK分词器3.基础概念三.Elasticsearch基础操作1.索引库操作1.1.常见映射属性1.2.索引库的·CRUD操作2.文档操作1.1.文档的CRUD操作1.2.批量处理四.ES的Java客户端1.客户端的......
  • Springboot3学习(7、POI实现导入导出)
    Springboot3学习——POI实现导入导出(七)1、POI介绍‌ApachePOI是一种流行的API,允许程序员使用Java程序创建、修改和显示MSOffice文件。它是由ApacheSoftwareFoundation开发和分发的开源库,用于使用Java程序设计或修改MicrosoftOffice文件。它包含将用户......
  • Scrapy | 通过爬取豆瓣Top250电影信息来学习在中间件中应用随机请求头和代理ip
    中间件的使用1.scrapyl中间件的分类和作用1.1scrapy中间件的分类1.2scrapy中间的作用:预处理request和response对象2.下载中间件的使用方法:3.定义实现随机User-Agent的下载中间件3.1实战:爬取豆瓣Top250电影信息3.2中间件使用实现随机User-Agent4.代理ip的使用4.1思......
  • Python学习的自我理解和想法(19)
    #1024程序员节|征文#学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码!今天是学Python的第19天,学的内容是面向对象。开学了,时间不多,写得不多,见谅。目录1.面向对象的三大特性(1).封装(2).继承(3).多态2.继承(1).简单使用(2).有构造函数的继承1.继承父类的构造方法......
  • Python基础学习目录
    Python学习目录Python自动化第一周Python自动化第二周Python文件的操作Python函数的进阶Python装饰器Python函数基础Python深浅copyPython迭代器、生成器Python推导式Python内置函数及匿名函数Python递归及二分查找算法Python面向对象(基础篇)Pytho......
  • 生产数据误删恢复系列之学习使用FY_Recover_Data进行恢复
    一、安装FY_Recover_Data下载地址:https://hellodba.com/reader.php?ID=191&lang=CN[root@myoracle~]#unzipFY_Recover_Data.zip[root@myoracle~]#mvFY_Recover_Data.pck/home/oracle/[root@myoracleoracle]#chown-Roracle.oinstallFY_Recover_Data.pckS......
  • Qt学习笔记(二)Qt 信号与槽
    系列文章目录Qt开发笔记(一)Qt的基础知识及环境编译(泰山派)Qt学习笔记(二)Qt信号与槽文章目录系列文章目录@[TOC](文章目录)前言一、Qt信号与槽机制1.1什么是信号和槽1.1信号和槽的关联及断连二、编辑槽函数1.自动关联2.手动关联前言  在学习Qt的过程中,信......
  • Java设计模式学习之代理模式
    代理模式目录代理模式代理模式的主要角色包括:代理模式的几种类型:应用场景:优点:缺点:代理模式(ProxyPattern)是结构型设计模式之一,它为其他对象提供一个代理对象以控制对这个对象的访问。代理模式在不直接访问实际对象的情况下,提供了对目标对象的间接访问。这种模式在实际编程中非......