maven的安装以及配置

前言: 

Maven是一个强大的构建自动化工具,主要用于Java项目。它解决了软件开发中的两个方面:

  1. 构建和依赖管理:Maven通过在项目对象模型(POM)文件中指定依赖关系,简化了项目构建和依赖管理的过程。这个文件是一个XML配置文件,包含项目的信息、Maven用来构建项目的配置细节以及关于依赖、插件和目标的信息。

  2. 项目管理:Maven提供了一个统一的构建系统,这意味着它可以从一个中心信息片段来管理构建、报告和文档。

一.Maven的主要特性

  1. 依赖管理:自动下载和管理库及其他项目依赖。
  2. 构建生命周期:定义了一个用于构建项目的生命周期模型(例如,编译、测试、打包、部署)。
  3. 插件:通过插件扩展功能,这些插件在构建过程中添加额外的功能。
  4. 仓库:使用远程仓库下载项目依赖和插件,并允许创建本地仓库来存储项目工件。
  5. 一致的项目结构:提倡标准的目录布局和构建结构。

二.基本概念

  1. POM(项目对象模型):Maven的核心,包含项目的配置信息。
  2. 仓库:存储项目所有依赖(库、插件)的目录。分为本地仓库、中央仓库和远程仓库。
  3. 阶段和目标:构建生命周期分为多个阶段,每个阶段由多个目标组成。目标按特定顺序执行。

三.常用Maven命令

  • mvn clean:清理项目,删除target目录。
  • mvn compile:编译项目的源代码。
  • mvn test:使用测试框架运行测试。
  • mvn package:将编译后的代码打包成一个分发格式(例如JAR文件)。
  • mvn install:将打包的项目安装到本地仓库中,以供其他项目使用。
  • mvn deploy:将项目发布到远程仓库,以供共享和使用。

四.Maven的工作流程

Maven通过解析POM文件,确定项目的依赖关系、插件和构建目标,然后根据生命周期和阶段,按顺序执行目标,最终完成项目的构建、测试、打包和部署。

五.使用Maven的好处

  1. 简化依赖管理:自动处理项目依赖,避免手动下载和管理库文件。
  2. 一致性:提供标准的项目结构和构建流程,增强团队协作效率。
  3. 可扩展性:通过插件扩展功能,满足不同项目的需求。
  4. 自动化:自动执行构建、测试、打包和部署,提升开发效率。

六.maven的安装及配置 

1. Maven软件的下载
使用 Maven 管理工具,我们首先要到官网去下载它的安装软件。
http://maven.apache.org/download.cgi

 

2.下载后直接解压放到你想放的盘就ok 

3.配置环境变量 

 

这边是我的,你这边配置你自己的路径就好 

4. 新建一个文件夹maven-repository  作为本地仓库  后期文件还是挺大的 不建议放c盘哈

5.配置setting.xml文件
在Maven解压文件中打开conf目录下的settings.xml文件 建议:先复制一份副本作为备份

 

<localRepository>E:\maven-repository</localRepository>  

 将刚刚建的本地仓库配置一下 

再配置一下阿里云镜像
设置阿里云镜像
Maven默认访问国外服务器下载包,速度很慢。配置阿里云镜像下载包会比较快。
打开conf目录下的settings.xml文件,在<mirrors>标签下添加<mirror>标签:
 

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

 进入idea将刚刚的本地仓库配置一下

ok咯,完事 

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

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

相关文章

【笔记】事务隔离级别以及MVCC解决幻读

事务提交可能碰到的问题&#xff1a; &#xff08;1&#xff09;脏读&#xff1a;事务1对数据进行修改但还没提交&#xff0c;事务2读取修改后的数据&#xff0c;之后事务1执行错误&#xff0c;回滚了&#xff0c;此时事务2的数据是错误的脏数据。 &#xff08;2&#xff09;不…

数学建模系列(2/4):建模入门

目录 引言 1. 如何开始数学建模 1.1 选择和描述问题 1.2 提出基本假设 1.3 确定模型类型 2. 建模的数学基础 2.1 线性代数基础 矩阵运算 线性方程组的解法 2.2 微分方程基础 常微分方程 偏微分方程 2.3 统计与概率基础 描述性统计 概率基础 3. 模型的求解方法 …

Linux中rm命令删除特定文件

在 Linux 中&#xff0c;你可以使用 rm 命令结合通配符来删除具有特定模式的文件&#xff0c;而不必输入完整的文件名。以下是一些常见的方法&#xff1a; 使用通配符&#xff1a; 使用星号&#xff08;*&#xff09;通配符可以匹配任意数量的字符。例如&#xff0c;如果你想要…

将Vite添加到您现有的Web应用程序

Vite&#xff08;发音为“veet”&#xff09;是一个新的JavaScript绑定器。它包括电池&#xff0c;几乎不需要任何配置即可使用&#xff0c;并包括大量配置选项。哦——而且速度很快。速度快得令人难以置信。 本文将介绍将现有项目转换为Vite的过程。我们将介绍别名、填充webp…

基于CSDN的Markdown文本编辑器的博客界面优化 | HTML | 文本标签 | 图像标签 | 个人主页引导

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 今天毛毛张分享的内容是如何在CSDN的Markdown编辑器中实现上图的效果&#xff0c;如果觉得能帮助到你的话就点击个人主页点点关注吧❗ 文章目录 1.前言2.基础知识3.字…

8、PHP 实现二进制中1的个数、数值的整数次方

题目&#xff1a; 二进制中1的个数 描述&#xff1a; 输入一个整数&#xff0c;输出该数二进制表示中1的个数。其中负数用补码表示。 <?phpfunction NumberOf1($n) {$count 0;if($n < 0){$n $n & 0x7FFFFFFF;$count;}while($n ! 0){$count;$n $n & ($n - 1…

(南京观海微电子)——DC-DC和LDO的原理及应用区别

LDO: 低压差线性稳压器&#xff0c;故名思意为线性的稳压器&#xff0c;仅能使用在降压应用中&#xff0c;也就是输出电压必需小于输入电压。 优点&#xff1a;稳定性好&#xff0c;负载响应快&#xff0c;输出纹波小。 缺点&#xff1a; 效率低&#xff0c;输入输出的电压…

直流电机双闭环控制仿真设计

1.设计题目 转速、电流双闭环直流调速系统的设计 2.设计任务 某晶闸管供电的双闭环直流调速系统&#xff0c;整流装置采用三相桥式电路&#xff0c; 基本数据为&#xff1a; 直流电动机&#xff1a;Unom220V&#xff0c;Inom136A&#xff0c;nnom1460r/min&#xff0c;Ra0…

[C++][设计模式][模板方法]详细讲解

目录 1.动机2.理解1.设计流程对比1.结构化软件设计流程2.面向对象软件设计流程 2.早绑定与晚绑定 3.模式定义4.要点总结5.代码感受1.代码一 -- 结构化1.lib.cpp2.app.cpp 2.代码二 -- 面向对象1.lib.cpp2.app.cpp 1.动机 在软件构建过程中&#xff0c;对于某一项任务&#xff…

readv() 和 writev()

Linux IO 高级函数&#xff1a;readv() 和 writev() 在Linux系统中&#xff0c;处理文件读写时&#xff0c;我们通常会用到 read() 和 write() 函数。但是&#xff0c;当我们需要处理的内存分散在多个不同的缓冲区中时&#xff0c;传统的读写函数就显得有些力不从心。这时&…

国产化平替

国产化替代&#xff0c;即国产替代&#xff0c;是指在关键技术和产品领域减少对外依赖&#xff0c;推动国内产业自主创新和升级&#xff0c;以实现关键技术和产品的国产化。在中国&#xff0c;国产化替代是国家战略的重要组成部分&#xff0c;旨在提高国家的自主创新能力和保障…

红队内网攻防渗透:内网渗透之内网对抗:信息收集篇SPN扫描DC定位角色区域定性服务探针安全防护凭据获取

红队内网攻防渗透 1. 内网信息收集1.1 域渗透的信息收集1.2域渗透的思路问题1.3 网络架构1.3.1 基本信息1.3.2 域内定位1.3.3 域内角色1.3.4 其他信息1.3.5 安全防护:1.3.6 凭据口令:1. 内网信息收集 #知识点: 1、基石框架篇-单域架构-权限控制-用户和网络 2、基石框架篇-…

Nginx负载均衡之Memcached缓存模块

Nginx 的 ngx_http_memcached_module 模块本身并没有提供缓存功能&#xff0c;它只是一个将用户请求转发到 Memcached 服务器的代理模块。 在以 Memcached 服务器为缓存应用的方案中&#xff0c;Memcached 作为内容缓存的存储服务器&#xff0c;用户通过 URL 为 Memcac…

古文字识别笔记

前置知识 部件&#xff1a;大部分的汉字是由若干组笔画结构拼合而成的&#xff0c;这些相对独立的笔画结构称为「部件」。 部件是大于基本笔画&#xff08;例如&#xff1a;点、横、撇、捺等&#xff09;而小于或等同于 偏旁 的结构单位。 例如「测」字有三个部件&#xff1a;…

Ubuntu换源

查看发行版本&#xff0c;记下来 cat /etc/issue 根据发行版本找到对应的配置文件copy起来 清华源 ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 阿里源 ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站 (aliyun.com…

视觉新纪元:解码LED显示屏的视角、可视角、最佳视角的最终奥秘

在璀璨夺目的LED显示屏世界里&#xff0c;每一个绚烂画面的背后&#xff0c;都离不开三个关键概念&#xff1a;视角、可视角与最佳视角。这些术语不仅是衡量显示效果的重要标尺&#xff0c;也是连接观众与精彩内容的桥梁。让我们一起走进这场视觉盛宴&#xff0c;探索那些让LED…

基于langchain的开源大模型应用开发1

服务端grpc框架 server-grpc etc yaml配置及 internal 内部代码包 config yaml配置解析代码包 logic 逻辑实现包 server 服务连接处理 svc 上下文配置信息 proto proto文件 go.mod model go.sum main.go 主函数入口 逻辑代码处理 目前该应用的逻辑只有机器人对话功能&#xff…

【C++】——二叉搜索树(详解)

一 二叉搜索树概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: ✨若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 ✨若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根节点的值 …

Go 与 Java 字符编码选择:UTF-8 与 UTF-16 的较量

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

淦!在外包开发的三年给整废了,备战两个月终拿到Android阿里字节哈啰offer总结,阿里P6+这回稳了!

面试时候就感觉不靠谱&#xff0c;因为面试地点是位于近江附近的望江国际里面的温州银行&#xff0c;面试前网上搜了广电运通的信息&#xff0c;说是国企&#xff0c;所以我就硬着头皮接下 offer 了&#xff0c;没想到面试 Android 结果做的 C&#xff0c;而且也是驻场开发。 …