Maven

Maven详解(学习、安装、配置)——看这个一篇就够了 (之前我们创建项目,需要确定项目的目录结构,比如src 存放Java源码, resources存放配置文件,webContent放前端页面,还要配置环境比如JDK的版本等等,如果有多个项目 那么就需要每次自己搞一套配置,十分麻烦。操作麻烦,如果人家版本更新了,或者我们的项目需要更新某个模块,导致之前加入的依赖包,又需要重新下载最新版本,重新加入到项目里。:Maven公司团队所管理的服务器,架设在Internet上,为全世界的所有Maven工程服务,基本上存储着99%的jar包。①阿里中央仓库(首选推荐) 阅读详情
  1. Maven简介
    1. Maven介绍

      Maven 是一款为 Java 项目构建管理、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。

       总结:Maven就是一个软件,掌握软件安装、配置、以及基本功能(项目构建、依赖管理)使用就是本课程的主要目标!

1. 2 Maven主要作用

       场景1:例如我们项目需要第三方库(依赖),如Druid连接池、MySQL数据库驱动和Jackson等。那么我们可以将需要的依赖项的信息编写到Maven工程的配置文件,Maven软件就会自动下载并复制这些依赖项到项目中,也会自动下载依赖需要的依赖!确保依赖版本正确无冲突和依赖完整!

         场景2:项目开发完成后,想要将项目打成.war文件,并部署到服务器中运行,使用Maven软件,我们可以通过一行构建命令(mvn package)快速项目构建和打包!节省大量时间!

    依赖管理:

    Maven 可以管理项目的依赖,包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等。通过 Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可。

构建管理:

   项目构建是指将源代码、配置文件、资源文件等转化为能够运行或部署的应用程序或库的过程!

   Maven 可以管理项目的编译、测试、打包、部署等构建过程。通过实现标准的构建生命周期,Maven 可以确保每一个构建过程都遵循同样的规则和最佳实践。同时,Maven 的插件机制也使得开发者可以对构建过程进行扩展和定制。主动触发构建,只需要简单的命令操作即可。

  

总结:

      1. 提供了一套标准的项目结构。

          不同开发软件创建的项目结构不一样,Maven规范了项目的结构。

       2. 提供了一套标准化的构建流程。

          清理-->编译-->测试-->打包(jar/war)-->部署

       3. 提供了一套依赖管理的机制。(管理项目所有的jar包)

          1.传统项目下载jar包,体积大,传输慢

       2. jar包和jar包之间版本冲突问题

  1. Maven安装、配置、Maven集成到IDEA中

  2.1 maven安装

     1.先maven官网下载maven.网址:Maven – Maven Releases History

      2.解压到D:\盘根目录下  注意:不能放到中文目录

  

     3. 配置maven的环境变量   

       前提条件:maven需要本机安装java环境、必需包含java_home环境变量!

        3.1创建MAVEN_HOME的系统环境变量

变量名

值

MAVEN_HOME

Maven的解压路径 如:D:\apache-maven-3.6.3

     

        3.2 编辑path环境变量,将MAVEN_HOME添加到path中.

      

4. 检查maven版本

   打开cmd命令窗口,输入【mvn -v】,检查Maven是否安装正确。安装正确如下图:

  2.2 修改Maven默认配置

      在maven的解压目录下找到【conf文件夹下的setting.xml文件中】修改这个配置文件,可以对Maven进行配置(如修改仓库地址,设置代理等等);

      1. 配置本地仓库地址   conf/settings.xml 55行

      <localRepository>D:\repository</localRepository>

    

2. 配置中央仓库的国内镜像(提高下载速度),放在<mirrors>标签中

      <mirror>

         <id>alimaven</id>

         <name>aliyun maven</name>

         <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

         <mirrorOf>central</mirrorOf>

      </mirror>

      

3. 配置jdk  (jdk版本必须开发环境)

在profiles节点(标签)下添加jdk编译版本 268行附近

<profile>

    <id>jdk-17</id>

    <activation>

        <activeByDefault>true</activeByDefault>

        <jdk>17</jdk>

    </activation>

    <properties>

        <maven.compiler.source>17</maven.compiler.source>

        <maven.compiler.target>17</maven.compiler.target>

        <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>

    </properties>

</profile>

2.3 IDEA中修改Maven配置为自己安装的Maven

     1. 打开IDEA,点击菜单栏中的【File】选择【Settings】进入IDEA配置,找到【Build,Execution,Deployment】菜单栏中的【Build Tools】中找到Maven。

     2. 点击Maven,在右边配置自己安装的Maven路径。如下图:

3. 创建新项目也进行相同的配置maven

打开IDEA,点击菜单栏中的【File】选择【New Projects Settings】选择【Settings For New Projects】进入IDEA配置,找到【Build,Execution,Deployment】菜单栏中的【Build Tools】中找到Maven。

 

  1. 基于IDEA创建的Maven 项目

   Maven工程相对之前的工程,多出一组gavp属性,gav需要我们在创建项目的时指定,p有默认值,后期通过配置文件修改。既然要填写的属性,我们先行了解下这组属性的含义!

Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写,其中前三个是必要的,而 Packaging 属性为可选项。这四个属性主要为每个项目在maven仓库总做一个标识,类似人的《姓-名》。有了具体标识,方便maven软件对项目进行管理和互相引用!

  GAV遵循一下规则:

GroupID 格式:com.{公司/BU }.业务线.[子业务线],最多 4 级。

        如:com.taobao.tddl

ArtifactID 格式:产品线名-模块名

        如:正例:tc-client / uic-api / tair-tool / bookstore

Version版本号格式:主版本号.次版本号.修订号 1.0.0

  

   3.1 File--> New-->project-->New Project-->创建一个普通JavaSE的maven项目

      注意:此处省略了version,直接给了一个默认值<version>1.0-SNAPSHOT</version>

   3.2   File--> New-->project-->Maven Archetype-->选择maven模版-->选择webapp-->创建一个javaEE的web的maven项目

        

  1. Maven 项目的目录结构

src/main/java:存放项目的 Java 源代码。

src/main/resources:存放项目的资源文件,如配置文件、静态资源等。

src/main/webapp/WEB-INF:存放 Web 应用的配置文件。

src/main/webapp/index.jsp:Web 应用的入口页面。

src/test/java:存放项目的测试代码。

src/test/resources:存放测试相关的资源文件,如测试配置文件等。

pom.xml:Maven 项目管理的配置文件,用于描述项目的依赖和构建配置等信息。

  1. pom.xml   Maven 项目管理文件

<!-- 模型版本 -->

<modelVersion>4.0.0</modelVersion>
<!-- 公司或者组织的唯一标志 -->
<groupId>com.bdqn</groupId>

<!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
<artifactId>maven-test-01</artifactId>

<!-- 版本号 -->
<version>1.0-SNAPSHOT</version>

  1. 依赖管理引入第三方依赖的jar坐标

   每一个jar包都有一个唯一的坐标,通过坐标找到对应的jar包。

坐标组成:

  1. 公司名   group id
  2. 项目名   artifact id
    3. 
    版本号   version

快速查找jar的坐标的网址:http://mvnrepository.com/

        <!-- 引入jdbc.jar的依赖坐标 -->

       <dependency>

           <groupId>mysql</groupId>

           <artifactId>mysql-connector-java</artifactId>

           <version>8.0.25</version>

       </dependency>

   Maven依赖管理

   本地仓库:在计算机本地创建文件夹

   中央仓库:线上网址。网址:https://repo1.maven.org/maven2/

   远程仓库:远程的仓库网址(自己配置)

Maven超详细讲解——基础篇 maven基础篇主要涉及maven的基本概念,安装下载以及应用实例,并对依赖管理,生命周期与插件做详细讲解 阅读详情

相关推荐

从入门到精通:Maven全解析

本文全面解析 Maven。先介绍其作为基于项目对象模型(POM)的 Java 项目管理工具,及起源发展。阐述核心概念,包括 POM 文件结构与依赖管理、坐标系统、生命周期和阶段、插件等。还讲解其依赖管理、标准化项目结构等特点,安装配置、常用命令、高级特性、使用场景与实践案例,以及常见问题解决办法。旨在助读者从入门到精通 Maven,掌握其在 Java 项目开发中的应用。

邓邓子的博客 3587

超级详细的Maven使用教程

什么是Maven? 如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。 以往开发项目时,程序员往往需要花较多的精力在引用Jar包搭建项目环境上,而这一项工作尤为艰难,少一个Jar包...

进修的CODER 24万+

QMT Python API 实战指南:从安装到策略开发的完整流程

本文提供了一份详尽的QMT Python API实战指南,涵盖从环境配置到策略开发的完整流程。文章深入解析了xtdata行情模块与xttrader交易模块的核心架构与协作方式,并通过一个双均线策略实例,手把手教你如何获取数据、计算信号并执行交易,是量化交易开发者快速上手QMT Python接口文档的实用教程。

butter的博客 1414

Maven详解(入门到精通)学习maven有这个就够了

为什么使用mava?为什么要使用Maven?它能帮助我们解决什么问题?①添加第三方jar包在今天的JavaEE开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些jar包最简单的方法就是复制粘贴到目录下。但是这会导致每次创建一个新的工程就需要将jar包重复复制到lib目录下,从而造成工作区中存在大量重复的文件,让我们的工程显得很臃肿。而使用Maven后每个jar包本身只在本地仓库中保存一份,需要jar包的工程只需要以坐标的方式。

qq_34091529的博客 5万+

AUTOSAR R20-11标准下载!

这是公众号的第2篇推文,粉丝数49 Document Search Classic Platform Adaptive Platform Foundation 文档截图 以为会在明天的发布会之后才上线,没想到官网现在就悄悄放出来了。 中国由于网络问题,下载速度比较慢或者会中断。 “阅读原文”提供多种下载方式,可以在线浏览,可以集中下载也可单个文档下载。 如有增减我也会及时在公众号里通知大家,不过我觉得不会变动了。 整理不宜,好东西要分...

Adaptive_AUTOSAR的博客 1890

从维纳滤波到Richardson-Lucy:图像去模糊算法的原理与实践

本文深入解析了图像去模糊的核心原理,重点对比了维纳滤波与Richardson-Lucy两种经典去卷积算法。维纳滤波在频域进行快速权衡,适用于高斯噪声场景;而Richardson-Lucy算法基于泊松噪声模型迭代优化,更适用于天文、显微等科学成像。文章通过Python代码实践,详细阐述了PSF(点扩散函数)的关键作用及算法选型指南。

weixin_29285605的博客 385

MAVEN利器:一文带你了解IDEA中如何使用Maven

在上一篇文章中,我们学习了如何在自己的电脑环境中安装MAVEN软件,但实际上我们日常使用中并不是一直在命令行中使用MAVEN的,我们更多的是基于IDEA编译器来使用MAVEN,那么我们今天就来学习如何在自己的IDEA中配置MAVEN。

fckbb的博客 8678

算法系列之十二:多边形区域填充算法--几种边标志填充算法

四、边界标志填充算法 在光栅显示平面上,多边形是封闭的,它是用某一边界色围成的一个闭合区域,填充是逐行进行的,即用扫描线逐行对多边形求交,在交点对之间填充。边界标志填充算法就是在逐行处理时,利用边界或边界颜色作为标志来进行填充的。准确地说,边界标志填充算法不是指某种具体的填充算法,而是一类利用扫描线连贯性思想的填充算法的总称。这类算法有很多种,本篇就介绍几种。 首先介绍一种以边为中心的边缘填充...

java开发指南博客 【转载】 1898

MAVEN的安装与配置以及配置MAVEN镜像为阿里云

MAVEN的安装与配置 如需配置MAVEN链接阿里云的镜像请直接查看 (三、配置MAVEN本地仓库 的第四步) 一、需要的东西 1.JDK(上一章已经详细讲解了https://blog.youkuaiyun.com/map_cx/article/details/89471218) 2.Eclipse 3.MAVEN的程序包 二、下载(因为MAVEN不需要安装) 1.下载: https://maven.ap...

胡椒码农的博客 5万+

手把手教你学Simulink——基于Simulink的机械臂正运动学仿真建模示例

机械臂正运动学概述正运动学的核心在于根据每个关节的角度值,通过坐标变换(如DH参数法或齐次变换矩阵)计算出末端执行器相对于基座的位置和姿态。常用的数学工具包括旋转矩阵、平移向量以及它们组合而成的齐次变换矩阵。仿真目标设计并实现一个机械臂正运动学模型。输入关节角度,输出末端执行器的位置和姿态。分析不同关节角度下的机械臂位置变化。假设我们有一个简单的3自由度(DOF)平面机械臂,其各关节的长度分别为l1l1​、l2l2​和l3l3​。在Simulink中,可以使用。

MHD0815的博客 359

基于STM32设计的老人摔倒检测报警系统(OneNet+MQTT)(235)

基于STM32设计的老人摔倒检测报警系统,不仅能够实时监测老人的位置信息,方便在紧急情况下快速定位,还能通过陀螺仪模块精确检测老人的身体姿态,一旦判断为摔倒状态,系统将立即触发蜂鸣器报警,并通过4G网络向指定联系人发送短信警示,确保老人能够迅速得到援助。此外,系统还支持老人主动按下设备上的按键发送求助短信,增强了系统的灵活性和实用性。

4690

Maven的简介以及Maven安装配置

打开IDEA,点击菜单栏中的【File】选择【New Projects Settings】选择【Settings For New Projects】进入IDEA配置,找到【Build,Execution,Deployment】菜单栏中的【Build Tools】中找到Maven。那么我们可以将需要的依赖项的信息编写到Maven工程的配置文件,Maven软件就会自动下载并复制这些依赖项到项目中,也会自动下载依赖需要的依赖!通过 Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可。

2301_80309994的博客 2595

基于opencv的鱼群检测和数量统计识别鱼群密度带界面

摘要:本项目利用OpenCV图像处理技术实现了视频鱼类自动检测计数系统。通过背景减除、形态学处理和轮廓检测等方法,在视频帧中标记鱼类并统计数量。系统包含视频读取、前景提取、轮廓分析、中心点跟踪等核心功能,可实时显示计数结果。适用于水产养殖、生态监测等领域,具有实用价值。未来可通过参数优化、引入深度学习和多目标跟踪技术进一步提升准确性。(147字)

1720

什么是Maven,Maven的概述及基本使用

Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档项目对象模型(Project Object Model)依赖管理模型(Dependency)插件(Plugin)提供了一套标准化的项目结构提供了一套标准化的构建流程(编译、测试、打包、发布…)提供了一套依赖管理机制依赖管理:依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件…)1.下载jar包2.复制jar包到项目。

宁可枝头抱香死,何曾吹落北风中。 4374

YOLOv8融合可变形注意力(DAT)实战教程:暴力涨点的科研级注意力机制优化方案

DAT的“可变形注意力”为目标检测的“精准特征捕捉”提供了全新思路,而YOLOv8的工程化优势让这种科研创新能快速落地到工业场景。希望这篇教程能帮你在“注意力机制优化+复杂场景检测”的痛点上找到突破口。如果你在实操中遇到“涨点不明显”的问题,不妨回到“DAT的采样点是否贴合目标形状”“注意力权重是否有效过滤背景”这些细节上找原因——科研的价值,就在于在细节打磨中推动技术进步。祝你在DAT与YOLOv8的结合探索中,既能做出有说服力的实验成果,又能沉淀出解决异形目标检测难题的实用经验。

know_F0727的博客 83

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

解决maven unresolved plugin 以及 如何控制maven plugin 的插件版本

最近在写一个项目的时候,有两个module,A是一个Spring boot,B是一个没有使用框架的module。 问题一: B库很长时间在执行Downloading plugins for,如果中途退出了idea,插件没有下载完,再次进入idea,会出现unresolved plugin的报错 分析: 这个问题可以通过两个方面来解决: 1、更改仓库地址,提高下载速度,一运行,很快...

薛瑄的博客 5万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Maven安装、配置、Maven集成到IDEA中

1.先maven官网下载maven.2.解压到D:\盘根目录下注意:不能放到中文目录。

2301_80220193的博客 2162

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Maven项目缺少Maven Dependencies总结

本文通过总结网上各种maven项目没有Maven Dependencies的情况,结合自己所遇到的奇葩问题,综合成一片文章,希望给大家带来帮助。

Frankenstein的博客 1万+

Eclipse基于Maven配置SSM

Eclipse配置Maven环境 一.什么是maven? Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期 (Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段 (phase)中插件(plugin)目标...

guigu2012的专栏 4094

如何配置Maven

目录 1.配置MAVEN_HOME 2.修改系统变量的PATH 3.配置maven本地仓库 4.配置镜像 1.配置MAVEN_HOME 在系统环境变量下配置MAVEN_HOME,maven的所在文件夹如下,不需要加上bin 2.修改系统变量的PATH 将 %MAVEN_HOME%\bin加入到系统环境变量的PATH 3.配置maven本地仓库 打开你的maven文件夹,进入conf文件夹,打开settings.xml文件...

weixin_41531181的博客 5519

阿里云MAVEN/华为MAVEN/腾讯云MAVEN 仓库地址

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录1.阿里云MAVEN2.腾讯MAVEN3.华为MAVEN4.网易MAVEN 1.阿里云MAVEN <mirror> <id>aliyun</id> <name>aliyun Maven</name> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/cont

SherlockerSun的博客 6099

Maven Wrapper的使用

Maven Wrapper是apache maven借鉴了gradle wrapper之后增加了的功能,可以为每个具体的项目添加一个专用的、指定版本的maven供其使用。takari官方说maven wrapper将会整合到apache maven 4.0里边,现在maven最新版本是3.8,等待好消息。

顺其自然~专栏 2628

Maven学习—Maven环境搭建

Maven 提供是三个平台的安装包 MacOS、Windows、Linux。安装包解压解压即可以使用。

飞鸽FlyGo-把自己作为一款产品来打磨,提升产品的体验,锻造出最好的自己。 1653

Maven部署以及IntelliJ IDEA中创建部署Maven项目与运行Maven命令——详细篇

本篇博客主要讲解Maven的部署,包括下载安装,配置,更换国内阿里镜像,以及在IntelliJ IDEA中创建部署Maven项目与运行Maven命令。 Maven部署 内容涉及Maven的一些基础知识,可以关注我的博客,后续会更新关于Maven的学习笔记。 Maven的作用: (1)增加第三方jar以及处理jar之间的依赖关系 (2)将项目划分成若干模块。 Maven下载安装 由于Maven是基于Java平台的自动化构建工具,所以应该先安装JDK环境,这里我就默认大家都配置好了JDK环境。 (1)下载Mav

MACRosshaha的博客 3196
上一篇: Jdbc高级(存储过程、事务、批处理)
下一篇: Maven安装、配置、Idea配置maven
llllldmdm
博客等级 码龄3年 134粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值