Mave概念及其配置

Maven之远程仓库的配置详解 主要介绍了Maven之远程仓库的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 立即下载

Mave概念

1.1为什么要学习Maven?

1、从『构建』角度解释

①个人开发流程

请添加图片描述

②团队开发流程

请添加图片描述

引申:更大范围内的团队协作

2、从『依赖』角度解释

①jar包的规模

随着我们使用越来越多的框架,或者框架封装程度越来越高,项目中使用的jar包也越来越多。项目中,一个模块里面用到上百个jar包是非常正常的。
请添加图片描述

②jar包的来源

  • 这个jar包所属技术的官网。官网通常是英文界面,网站的结构又不尽相同,甚至找到下载链接还发现需要通过特殊的工具下载。
  • 第三方网站提供下载。问题是不规范,在使用过程中会出现各种问题。
    • jar包的名称
    • jar包的版本
    • jar包内的具体细节

③jar包之间的依赖关系

框架中使用的jar包,不仅数量庞大,而且彼此之间存在错综复杂的依赖关系。依赖关系的复杂程度,已经上升到了完全不能靠人力手动解决的程度。另外,jar包之间有可能产生冲突。进一步增加了我们在jar包使用过程中的难度。

到目前为止,我们熟悉的jar包之间依赖关系有下面这些例子:

  • junit-4.12依赖hamcrest-core-1.3
  • thymeleaf-3.0.12.RELEASE依赖ognl-3.1.26
    • ognl-3.1.26依赖javassist-3.20.0-GA
  • thymeleaf-3.0.12.RELEASE依赖attoparser-2.0.5.RELEASE
  • thymeleaf-3.0.12.RELEASE依赖unbescape-1.1.6.RELEASE
  • thymeleaf-3.0.12.RELEASE依赖slf4j-api-1.7.26

而实际上jar包之间的依赖关系是普遍存在的,如果要由程序员手动梳理无疑会增加极高的学习成本,而这些工作又对实现业务功能毫无帮助。

1.2 什么是Maven?

Maven是Apache软件基金会组织维护的一款专门为Java项目提供构建和依赖管理支持的工具。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y0f1bXFd-1647868878695)(image/maven-logo-black-on-white.png “”)]

1、构建

Java项目开发过程中,构建指的是使用『原材料生产产品』的过程。

  • 原材料
    • Java源代码
    • 基于HTML的Thymeleaf文件
    • 图片
    • 配置文件
      …
  • 产品
    • 一个可以在服务器上运行的项目

构建过程包含的主要的环节:

  • 清理:删除上一次构建的结果,为下一次构建做好准备
  • 编译:Java源程序编译成*.class字节码文件
  • 测试:运行提前准备好的测试程序
  • 报告:针对刚才测试的结果生成一个全面的信息
  • 打包
    • Java工程:jar包
    • Web工程:war包
  • 安装:把一个Maven工程安装到Maven仓库
  • 部署:将准备好的jar包或war包部署到服务器上运行

2、依赖

如果A工程里面用到了B工程的类、接口、配置文件等等这样的资源,那么我们就可以说A依赖B。例如:

  • junit-4.12依赖hamcrest-core-1.3
  • thymeleaf-3.0.12.RELEASE依赖ognl-3.1.26
    • ognl-3.1.26依赖javassist-3.20.0-GA
  • thymeleaf-3.0.12.RELEASE依赖attoparser-2.0.5.RELEASE
  • thymeleaf-3.0.12.RELEASE依赖unbescape-1.1.6.RELEASE
  • thymeleaf-3.0.12.RELEASE依赖slf4j-api-1.7.26

依赖管理中要解决的具体问题:

  • jar包的下载:使用Maven之后,jar包会从规范的远程仓库下载到本地
  • jar包之间的依赖:通过依赖的传递性自动完成
  • jar包之间的冲突:通过对依赖的配置进行调整,让某些jar包不会被导入

3、Maven的工作机制

请添加图片描述

2.1 Maven核心程序解压与配置

1、解压Maven核心程序

核心程序压缩包:apache-maven-3.5.4-bin.zip,解压到非中文、没有空格的目录

在解压目录中,我们需要着重关注Maven的核心配置文件:conf/settings.xml

2、指定本地仓库

本地仓库默认值:用户家目录/.m2/repository。由于本地仓库的默认位置是在用户的家目录下,而家目录往往是在C盘,也就是系统盘。将来Maven仓库中jar包越来越多,仓库体积越来越大,可能会拖慢C盘运行速度,影响系统性能。所以建议将Maven的本地仓库放在其他盘符下。配置方式如下:

<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\maven-rep1026</localRepository>

本地仓库这个目录,我们手动创建一个空的目录即可。

记住:一定要把localRepository标签从注释中拿出来。

注意:本地仓库本身也需要使用一个非中文、没有空格的目录。

3、配置阿里云提供的镜像仓库

Maven下载jar包默认访问境外的中央仓库,速度很慢。改成阿里云提供的镜像仓库,访问国内网站,可以让Maven下载jar包的时候速度更快。配置的方式是:将下面mirror标签整体复制到mirrors标签的内部。

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

4、配置Maven工程的基础JDK版本

如果按照默认配置运行,Java工程使用的JDK版本是1.5。配置的方式是:将profile标签整个复制到profiles标签内。

<profiles>
  <profile>
    <id>jdk-1.8</id>
    <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
    </activation>
    <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
  </profile>
</profiles>

2.2配置环境变量

1、检查JAVA_HOME配置是否正确

Maven是一个用Java语言开发的程序,它必须基于JDK来运行,需要通过JAVA_HOME来找到JDK的安装位置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HW3WkT6L-1647868878697)(image/img006.png “”)]

可以使用下面的命令验证:

C:\Users\Administrator>echo %JAVA_HOME%
D:\software\Java

C:\Users\Administrator>java -version
java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)

2、配置MAVEN_HOME

配置环境变量的规律:
XXX_HOME指向的是bin目录的上一级
PATH指向的是bin目录

3、配置PATH

请添加图片描述
请添加图片描述

请添加图片描述

4、验证

C:\Users\Administrator>mvn -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: D:\software\apache-maven-3.5.4\bin\..
Java version: 1.8.0_141, vendor: Oracle Corporation, runtime: D:\software\Java\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
开源滑翔伞升降速度表:基于STM32与传感器融合的DIY飞行仪表 传感器融合是现代嵌入式系统与物联网设备中的核心技术,它通过整合多个传感器的数据,利用滤波与估计算法,获得比单一传感器更精确、更可靠的环境感知能力。其技术价值在于提升系统的鲁棒性、精度和上下文理解能力,广泛应用于无人机导航、可穿戴设备、工业监测及智能驾驶等领域。本文聚焦于一个具体的工程实践案例——开源多功能滑翔伞升降速度表(Open-Vario),该项目巧妙地运用了**卡尔曼滤波器**进行气压与GNSS数据的融合,以精确计算升降率,并基于**FreeRTOS**实时操作系统构建了一个稳定、可扩展的嵌入式平台, 阅读详情

相关推荐

多节阶梯阻抗变换器工程设计的公式推导

  多节阶梯阻抗变换器工程设计的公式推导,仔细看此文,有点烧脑,所以碎片十分钟,收获一丢丢。   现在就来设计一个超宽带多节阶梯阻抗变换器,要求带内纹波符合切比雪夫分布。   其实,此文已经是省去了大量中间公式推导,只剩下精炼内容了。   阶梯阻抗变换器指标需求   假设现在有一项目需求分析结果是:做一个微带线超宽带阶梯阻抗变换器,指标如下:   从50欧变换到100欧;   回波损耗22dB;   功率容量:2W;   频率范围2~18GHz;   插损能做多少就多少,用30mil板厚.

wusuowei1010的博客 7797

Maven

概述 Maven是基于java平台的项目构建,依赖管理和项目信息管理,是跨平台的项目管理工具 通俗点讲Maven就是帮助我们寻找需要的jar包的,我们不再去各大网站去下载 只需只需要通过Maven的坐标在Maven仓库取即可找到并自动下载导入到项目工具库中 优点 Jar管理起来更加轻松,已经被业界广泛采用,springboot就是maven的延伸 部分包因为版本问题,需要手工导入 引发新的问题,版本冲突:大型项目中jar中依赖其它jar包 坐标体系使不同厂商的文件也井然有序,不会冲突覆盖 生命周期对应

weixin_45001033的博客 251

随机子空间集成方法原理与scikit-learn实践

集成学习通过组合多个基学习器的预测结果来提升模型性能,是机器学习中的核心方法之一。随机子空间方法作为集成学习的重要变体,其核心原理是通过对特征空间进行随机子采样来增加模型多样性。这种方法特别适合处理高维数据,能有效缓解维度灾难问题,常与决策树、K近邻等对特征选择敏感的基学习器配合使用。在scikit-learn中,可以通过BaggingClassifier和BaggingRegressor实现随机子空间集成,关键参数包括max_features和n_estimators。实际应用中,该方法在金融风控、医疗诊

weixin_33773084的博客 369

OGNL简介

今日目标: 了解struts的传值的优先级 OGNL介绍: 1,OGNL的全称是Object Graph Navigation Language(对象图导航语言),它是一种强大的表达式语言 2,OGNL相当于一个上下文(OgnlContext)概念,就是一个Map结构(教室 老师 学生) 它实现了java.utils.Map 的接口。Struts框架默认就支持ognl表达式语言。(从struts项目必须引入ognl.jar包可以看出) 比如:Map 教室 OgnlContext=根对象..

m0_58525944的博客 1607

动态刷新曲线_【GhPython应用】利用反射刷新Image sampler组件

【版权声明】| 作者:月之眼|案例图片来源:Sergiu Radu Pop的facebook| 如有侵权,请联系大水牛平台|如果觉得文章不错,欢迎分享效果展示利用python刷新Image sampler组件,主要的思路就是X输入端:输入要切换的图片路径,我的案例中输入了9张图片。然后通过100毫秒切换一张图片显示,来达到动态显示效果。代码分析run输入端类型:bool (I...

weixin_42393829的博客 526

黑群晖二合一已损毁_手动修复黑群晖已损毁磁盘空间

lz的用法是这样的,一个中古级mac mini 2011上装有vmware esxi 7.6, 然后上面挂载了lz的华芸Asustor Nas的iscsi空间,lz用的是basic volume,然后esxi上面有虚拟的黑群晖6.2.2-24922,黑群晖的docker里跑着不可描述软件,但是发现下载速度过快时,比如有好几个文件同时下载,总速度超过60MB/s以后storage manager里很...

weixin_39669629的博客 1万+

maven详细配置教程

文章目录1.maven下载2.maven配置2.1maven环境变量配置2.2maven配置文件2.2.1本地仓库位置修改2.2.2修改maven默认的JDK版本2.2.3添加国内镜像源3.IDEA配置maven4.Eclipse配置maven 1.maven下载 maven下载官网:点击 点击进去官网,点击Download 往下拉找到这个 点击下载,下载好后,找一个你想放的地方解压就行了。 然后解压后的目录是这样子的。 2.

weixin_42460596的博客 10万+

交叉编译Qt6.5.3(RK3568开发板)

注意,如果使用其它版本的交叉编译器的话,请确保你的交叉编译器能够支持 C++17标准。为确保后续交叉编译没问题,需要确保开发板使用的GLIBC版本不小于2.34版本。到 linaro 网站上下载交叉编译工具,我下载的是 gcc-linaro-11.3.1-2022.06-x86_64_aarch64-linux-gnu.tar.xz。安装 CMake ,最低要求3.16版本,如果要静态编译,需要3.21及以上版本。我使用的3.27版本。:指定为最后交叉编译后的Qt6.5.3库的安装目录。

m0_46309425的博客 5090

Ognl 使用实例手册

上一篇博文介绍了ongl的基础语法,接下来进入实际的使用篇,我们将结合一些实际的case,来演示ognl究竟可以支撑到什么地步 在看本文之前,强烈建议先熟悉一下什么是ognl,以及其语法特点,减少阅读障碍,五分钟入门系列: 191129-Ognl 语法基础教程 I. 基本使用 1. 配置 我们选用的是java开发环境,使用maven来进行包管理,首先在pom文件中添加依赖 <!-- h...

小灰灰blog的专栏 1197

《Android系统开发中高级定制专栏导读》

欢迎来到【Android 中高级系统定制】专栏!在这里,将深入探讨Android系统开发与定制的方方面面,涵盖从权限管理、驱动开发到系统应用配置等多个领域。

我其实什么都不会 1557

RK3568平台YOLOv11模型部署全流程实战:环境搭建、模型转换与性能优化解析

在AI边缘计算领域,瑞芯微RK3568芯片凭借其强大的NPU算力和丰富的接口资源,成为了众多开发者的首选平台。然而,瑞芯微官方文档虽然提供了YOLO11预训练模型的部署方案,但对于需要自定义数据集训练的开发者来说,从模型训练到板端部署的完整流程却缺乏详细指导。本文将带你走完从环境搭建、数据准备、模型训练到最终板端部署的完整技术路线,并分享实际开发中遇到的各种坑点和解决方案。让我们一起探索如何在RK3568平台上实现30FPS稳定推理的YOLO11目标检测应用!

LXY_LOVE36的博客 116

Maven安装配置

Maven学习笔记

weixin_46346162的博客 351

发那科 Fanuc PLC 报文通讯,报文解析。附源程序

发那科 Fanuc PLC 报文通讯,最详细的发那科 PLC报文解析,不再局限在官方提供的库,也不用再局限在windows平台。

ITOfDragon的博客 1740

Maven-基本概念与核心配置

Maven基本概念与核心配置 maven基本概念 maven核心配置 一、maven 安装与核心概念 概要: mave安装 maven编译(compile) 执行测试用例(test) maven打包 maven依赖管理 1、安装 官网下载Maven( https://maven.apache.org/download.cgi ) 解压指定目录 配置环境变量 检查安装是否成功(mvn -v...

JolyouLu的博客 251

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

CentOS7安装jdk/mave

输入命令:yum-ylistjava*输入命令:yuminstall-yjava-1.8.0-openjdk.x86_64默认安装到usr/lib/jvm目录下。

qq_42912495的博客 433

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

mave 配置文件

1、什么是pom   pom(Project Object Model)代表项目对象模型,它是maven中工作的基本组件,是一个xml文件。它被放在工程跟目录下,文件命名为pom.xml。pom包含了关于工程和各种配置的详细信息,Maven使用这些信息构建工程。 2、pom文件节点 1 <project xmlns="http://maven.apache.org/PO...

weixin_30550081的博客 145

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Mave profile配置

4 profile介绍 4.1 profile简介 profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过profile定义在jdk1.5以上使用一套配置信息,在jdk1.5以下使用另外一套配置信息;或者有时候我们

心如止水博客 481

在Java中,配置mave

前言:这将会是一篇超级长的博客,希望有需要帮助的童鞋耐心看完哦,这是我花费了很长时间的哦,(全过程注意要联网) 1:首先你要拥有一个maven的压缩包,解压到你的盘符下面去,保证你解压的位置没有中文和空格,不然会报错呦 这里我解压到我的E盘下面的一个initPath——&gt;mvn文件下面(ps:maven有一个叫仓库的概念,我们这里新建一个文件夹名叫mvn_repository 作为本地...

qq_43238210的博客 255

Mave安装配置

华为云:https://repo.huaweicloud.com/repository/maven/中国科技大学:http://mirrors.ustc.edu.cn/maven/maven2/网易:http://maven.netease.com/repository/public/清华大学:https://repo.maven.apache.org/maven2/北京交通大学:http://maven.bjtu.edu.cn/maven2/阿里云:http://maven.aliyun.com/

qq_37256615的博客 487

IDEA配置和mave项目的使用

本章内容主要讲述了初次使用Idea时要给Idea配置的一些全局的设置,以及我们平时开发会经常用到的插件。还有使用maven时配置的国内阿里的镜像,解决下载maven依赖时由于使用国内网络的原因的造成的一些连接超时、下载慢等问题。还有控制台乱码问题的解决方案等等。

Bennett的博客 674

Mave之setting常见配置详解

Setting.xml 1.声明规范 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="...

sinat_41400695的博客 336

mave概述

1 Maven概述 why? 擅长管理大型项目 自动管理你需要的jar包 自动进行下载我们需要的jar包。 1.1 Maven的概念模型 jar java rar java工程的压缩包 war web rar web工程的压缩包 1.2 Maven的仓库 1.2.1仓库中存放的内容 Maven自身运行所需要的插件 第三方框架(spring/mybatis/springmvc)和工具类的...

Bigbuibuibui的博客 956

mave 入门配置,速学笔记

以window系统为例进行讲解: 一、安装mave 1、下载mave压缩包,并解压;下载地址:http://maven.apache.org/download.cgi 2、添加系统环境变量,名称:MAVE_HOME 内容为:mave解压后的地址如 D:\JavaApps\apache-maven-3.3.9 3、设置系统环境变量Path,追加 %MAVE_HOME%\bin (此处不明白的自行百度。) 4、打开cmd,执行 mvn -v,有输出mave的相关信息,则安装成功。 二、mave...

ZQkoon的专栏 570

写给初学者的Maven教程——01Mave安装与概念

下一篇:写给初学者的Maven教程——02Maven常用命令 写给初学者的Maven教程——01Mave安装与概念一.概念二.安装Maven三.Maven仓库 一.概念 1.Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 2.Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。 使用Maven的好处在于他可以帮助我们很好的管理jar包。 二.安装Maven 官网:http://maven.apache

qq_44932835的博客 343

Mave profile

4       profile介绍 4.1     profile简介 profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过profile定义在jdk1.5以上使用一套配置信息,在jdk1.5以下使用另外一套配置信息;或者...

青年IT男 122

Maven基础概念及其配置文件

maven 基础概念

daqi1983的博客 542
上一篇: 【JavaWeb】Cookie&Session学习笔记
下一篇: Maven的命令行操作
梦想new的出来
梦想new的出来 新星创作者: 算法与数据结构技术领域 新星创作者: 算法与数据结构技术领域
博客等级 码龄5年 5189粉丝 157原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想new的出来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值