Maven配置

目录

  • 非Maven项目的缺点
  • Maven
  • Maven的仓库
  • Maven的资源坐标
  • Maven的下载安装
  • Maven常用配置
    • 本地仓库
    • 镜像仓库
    • 配置JDK

非Maven项目的缺点

  • 问题一:
    项目中的jar包资源需要自己在网上下载,手动导入,不好管理。
  • 问题二:
    jar包版本控制麻烦

Maven

  • Maven是一个项目管理工具,主要用于Java项目的构建和管理。它提供了一个项目对象模型(POM),通过一小段描述信息来管理项目的构建、报告和文档。Maven填补了Ant的缺点,并首次支持从网络上下载功能,仍然采用xml作为配置文件格式。

  • Maven的面向项目的方法使得许多Apache Jakarta项目和公司项目采用Maven的比例在持续增长。它提供了一个标准化的软件生命周期模型,涵盖项目的创建、构建、测试、集成和部署。

  • Maven的生命周期模型包括三套相互独立的生命周期:Clean Lifecycle、Default Lifecycle和Site Lifecycle。其中,Default Lifecycle是构建的核心部分,包括编译、测试、打包、部署等步骤。

  • 此外,Maven还提供了一组标准集合、一个项目生命周期、一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑。其中,项目描述文件(POM)是Maven管理项目的依据,而大部分功能都是通过插件完成的。

Maven的仓库

Maven的仓库是用来存储jar包的,一个管理项目构件的地方,统一管理构件,然后提供给不同的项目使用,提高了构件的复用性和效率。

  • Maven有三个仓库分别是:本地仓库、中央仓库、远程仓库。
    本地仓库是用来存储从远程仓库及中央仓库下载的jar包,自己来维护。项目使用的jar包优先从本地仓库获取。
  • 中央仓库是Maven下载jar包时,Maven将首先从本地资源库获得Maven的本地资源库依赖资源,如果没有找到,然后从默认的Maven中央存储库(Central Repository)查找下载。同时Maven中央仓库也提供了一个搜索网站便于搜索。
  • 远程仓库是如果本地仓库没有所需要的jar包,默认去远程仓库下载。

Maven的资源坐标

在Maven中,GroupID、ArtifactID和Version是用于唯一标识一个项目或项目的构件(如jar文件)的。它们共同构成了一个坐标(coordinate),用于在Maven仓库中定位和识别特定的项目或构件。

  1. GroupID:通常用于标识一个组织或公司,它定义了项目所属的命名空间。GroupID通常用于将相关的项目组织在一起。
  2. ArtifactID:是项目的唯一标识符,它通常与项目的名称相对应。ArtifactID用于在GroupID下唯一标识一个项目或构件。
  3. Version:用于标识项目的版本。每个项目可以有多个版本,通过Version来区分不同版本的项目或构件。

这三个元素共同构成了Maven的坐标系统,用于在Maven仓库中唯一标识和定位项目或构件。通过这些坐标,Maven可以下载和管理项目的依赖关系,并确保每个项目使用正确的版本。

Maven的下载安装

  1. 打开Maven官网https://maven.apache.org/index.html
    点击Download

在这里插入图片描述

  1. 下载Maven

在这里插入图片描述

Maven常用配置

  • 打开F:\apache-maven-3.9.6\conf(此地址为该包解压的地址)下的settings.xml文件。
    在这里插入图片描述

本地仓库

配置本地仓库文件夹地址。
在这里插入图片描述

镜像仓库

  1. 复制镜像仓库
<mirror>    <id>central</id>    <name>central<name>                                                                                                                           <url>https://maven.aliyun.com/repository/public</url>   <mirrorOf>central</mirrorOf>    
</mirror>
  1. 配置
    在这里插入图片描述

配置JDK

<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>

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录刷题笔记 DAY 28 | 复原 IP 地址 No.93 | 子集 No.78 | 子集 II No.90

文章目录 Day 2801. 复原 IP 地址&#xff08;No. 93&#xff09;1.1 题目1.2 笔记1.3 代码 02. 子集&#xff08;No. 78&#xff09;2.1 题目2.2 笔记2.3 代码 03. 子集 II&#xff08;No. 90&#xff09;3.1 题目3.2 笔记3.3 代码 Day 28 01. 复原 IP 地址&#xff08;No. 9…

RK3399平台开发系列讲解(USB篇)USB 主设备和从设备

&#x1f680;返回专栏总目录 文章目录 一、主设备二、集线器三、功能设备 沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&#xff01;&#x1f604; &#x1f4e2;介绍 USB 主设备和从设备。 一、主设备 检测 USB 设备的插拔动作管理主从通讯之间的控制流管理主从通…

防火墙 iptables(二)--------------SNAT与DNAT

一、SNAT ①SNAT 应用环境: 局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由) ②SNAT原理: 源地址转换&#xff0c;根据指定条件修改数据包的源IP地址&#xff0c;通常被叫做源映射 数据包从内网发送到公网时&#xff0c;SNAT会把数据包的源IP由…

用Python和OpenCV搭建自己的一维码和QRCode扫描仪(步骤 + 源码)

导 读 本文主要介绍使用Python和OpenCV搭建自己的一维码和QRCode扫描仪&#xff08;步骤 源码&#xff09;。 项目简介 本文我们将创建一个程序来扫描图像中的二维码和条形码。对于这个程序&#xff0c;我们需要三个包&#xff0c;分别是OpenCV、NumPy和pyzbar。大多数 Pyth…

Eclipse - Format Comment

Eclipse - Format & Comment 1. Correct Indentation2. Format3. Toggle Comment4. Add Block Comment5. Remove Block CommentReferences 1. Correct Indentation Ctrl A: 选择全部代码 Ctrl I: 校正缩进 or right-click -> Source -> Correct Indentation 2. F…

2024年!PyCharm快捷键大全

收藏&#xff01;PyCharm快捷键大全 工欲善其事必先利其器&#xff0c;PyCharm 是最popular的Python开发工具&#xff0c;它提供的功能非常强大&#xff0c;是构建大型项目的理想工具之一&#xff0c;如果能挖掘出里面实用技巧&#xff0c;能带来事半功倍的效果。 本文主要向大…

实例讲解join方法的使用

Python的join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串 语法 str.join(sequence) 参数 sequence 要连接的元素序列、字符串、元组、字典 返回值 返回通过指定字符连接序列中的元素后生成的新的字符串 实例 str "-"; seq ("a"…

如何简单上手清华AutoGPT并搭建到本地环境

一、准备工作 安装Docker&#xff1a;确保你的本地机器上已经安装了Docker。如果还没有安装&#xff0c;请访问Docker官方网站并按照指引进行安装。--点击进入Docker官网 获取清华AutoGPT的Docker镜像&#xff1a;清华AutoGPT团队可能已经提供了一个Docker镜像&#xff0c;方便…

uniapp rich-text 富文本组件在微信小程序中自定义内部元素样式

rich-text 富文本组件在微信小程序中&#xff0c;无法直接通过外部css样式控制文章内容样式。 解决方案&#xff1a;将传入的富文本内容截取并添加自定义样式类名 &#xff08;1&#xff09;全局配置filter方法&#xff0c;实现富文本内容截取转换&#xff0c;附上‘rich-txt…

浅谈语义分割、图像分类与目标检测中的TP、TN、FP、FN

语义分割 TP&#xff1a;正确地预测出了正类&#xff0c;即原本是正类&#xff0c;识别的也是正类 TN&#xff1a;正确地预测出了负类&#xff0c;即原本是负类&#xff0c;识别的也是负类 FP&#xff1a;错误地预测为了正类&#xff0c;即原本是负类&#xff0c;识别的是正类…

Doris ——SQL原理解析

目录 前言 一、Doris简介 二、SQL解析简介 2.1 词法分析 2.2 语法分析 2.3 逻辑计划 2.4 物理计划 三、Doris SQL解析的总体架构 四、Parse阶段 五、Analyze阶段 六、SinglePlan阶段&#xff08;生成单机逻辑Plan阶段&#xff09; 七、DistributedPlan计划&#xf…

Open CASCADE学习|布尔运算

目录 1、加法&#xff1a;BRepAlgoAPI_Fuse 2、减法&#xff1a;BRepAlgoAPI_Cut 3、交集&#xff1a;BRepAlgoAPI_Common 4、交线&#xff1a;BRepAlgoAPI_Section 1、加法&#xff1a;BRepAlgoAPI_Fuse #include <gp_Pnt.hxx>#include <BRepPrimAPI_MakeBox.hxx…