Apache Maven简介安装及系统坏境配置eclipse配置Apache Maven---详细介绍

一,简介

     Maven可以简化项目的构建和依赖管理,并提供了一种规范化和可复用的方式来管理Java项目。它广泛应用于Java开发领域,简单来说:它提供了一个简单而强大的方式来管理项目的构建、依赖关系和文档在企业级项目中被广泛采用。

1.1 特点(主7点)

  1. 构建管理:Maven使用一个中央的配置文件(pom.xml)来定义项目的结构、依赖关系和构建脚本。通过定义项目的依赖关系,Maven能够自动下载、管理和构建这些依赖。

  2. 依赖管理:Maven能够自动解决项目的依赖关系,你只需要在pom.xml中声明你的项目依赖的库和版本号,Maven会自动下载并管理这些依赖。

  3. 项目生命周期管理:Maven提供了一系列的构建阶段(如编译、测试、打包、部署等),你可以在pom.xml中配置这些阶段的行为,Maven会按照定义好的生命周期来执行相应的操作。

  4. 插件系统:Maven支持插件机制,你可以自定义插件来扩展Maven的功能。Maven自带了许多常用的插件,如编译、测试、打包插件等。

  5. 文档生成:Maven可以使用插件来生成项目的文档,如JavaDoc文档、站点文档等。

  6. 多模块支持:Maven支持多模块项目管理,你可以通过定义模块之间的依赖关系,将复杂的项目拆分成多个模块来管理。

  7. 仓库管理:Maven有一个中央仓库(Maven Central Repository),里面包含了大量的开源库和插件供你使用。当你声明一个依赖时,Maven会自动从中央仓库下载相应的库文件

二,Maven的安装

2.1 在官网下载相对应的版本

 下载maven安装包,解压即可使用 Maven – Download Apache Maven

  步骤:Download---Files相对应的版本---解压所下载的Maven安装包即可

2.2将maven添加到系统的坏境配置 

点击path--编辑--窗口右上角点击新建--创建 %MAVEN_HOME%\bin ---确定即可

2.3打开黑窗口Ctrl+R--输入cmd回车--再输入mvn -version口令--回车

注意:如果显示不是内部或外部命令,也不是可运行的程序或批处理文件。就需要看看刚刚系统坏境配置是否正确配置了

2.4 有两步配置文件 第一步:所需要更改Maven仓库的位置,因为我们下载的Maven是国外仓库,需要更改为自己的本地仓库, 需要再手动创建一个本地仓库,点击解压后的Maven的根目录conf--settings.xml---找到<localRepository>标签 可Ctrl+F查看该标签---复制该标签添加刚手动创建的本地仓库

 第二步:因为国外的Maven的jar架包下载过慢,所以我们需要换源更改成阿里云,使下载jar等文件更快更便利继续跟着第一步来找到mirror标签将里面的内容改成下面代码即可

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

三,eclipse的配置使用(三步)

第一步: 打开eclipse上方菜单栏

Window--preferences--搜索Maven--点击Add...添加Maven的安装地址--将maven勾选上 

注意:选择Maven安装地址时要在bin目录的上一级目录!

第二步: 点击 User Settings----第二个Browse...选择Maven根目录settings.xml地址

因为在settings.xml中已经配置本地仓库地址,会自动补填上本地仓库地址,该本地仓库地址是通过中央仓库下载jarj架包的地址

要连接网络不要断开!因为要下载相对应的插件!

第一次配置完之后 progress会有一个进度条,该进度是在下载Maven相关的插件,进度条受系统版本的影响。

在等待进度条时可以创建Maven项目

快捷键Ctrl+n创建项目名---搜索Maven Project--Next----Next--在Catalog选择Internal---Fliter下选择后缀名为webapp----Next即可

注意:快捷键没有可左边点击空白处New-Other 后续步骤一致

 

 

完成之后,会发现包名目录不全 

点击项目名--Build Path---Configure Build----选择source---下方Allow output folders for source. . . 复选框取消 

第三步:接下来就是配置xml中的内容  更改dependency标签中的内容,将如下代码复制到pom.xml文件dependency标签中,第二个dependency标签 groupId内容是需要下载jar的名字,artifactId标签是下载的mysql文件夹下的另外一个文件名到时候下载的mysql版本在该文件下文件名是一层套一层的 version标签中为mysql 的jar版本

注意:groupId标签的内容要与下载的jar包名一致,例如:我要下载mysql的jar,groupId标签的内容就要为mysql,要不然jar会下载错误

	<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
	
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.44</version>
	</dependency>

	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>javax.servlet-api</artifactId>
		<version>4.0.1</version>
		<scope>provided</scope>
	</dependency>

完成样式:

   完成之后Ctrl+s保存将会自动下载jar包,在自己配置的本地仓库mvn_repository文件下级目录中名为mysql文件名会有jar包。如果jar包图标是白色的那就是第三步没有配置好,看看groupId标签中的名与需要下载的jar一致。

进行编译前,可像下图一致,出现控制台BUTLD SUCCESS 就代表成功了,可进行编译,

如果报错出现红色代码(两种解决办法)

第一种:将配置的本地仓库的全部文件清空

第二种:配置pom.xml文件中与相对应本地仓库与的文件名删除

            

                    好啦!今天的分享就到这里咯。有不足的地方评论指导一下!😊

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何预防ssl中间人攻击?

当我们连上公共WiFi打开网页或邮箱时&#xff0c;殊不知此时可能有人正在监视着我们的各种网络活动。打开账户网页那一瞬间&#xff0c;不法分子可能已经盗取了我们的银行凭证、家庭住址、电子邮件和联系人信息&#xff0c;而这一切我们却毫不知情。这是一种网络上常见的“中间…

Java多线程编程中的线程控制:挂起、停止和恢复

Java 线程控制&#xff1a;挂起、停止和恢复 在多线程编程中&#xff0c;对线程进行控制是非常重要的&#xff0c;可以通过挂起、停止和恢复线程来实现对线程的管理。本文将介绍如何使用Java提供的方法对线程进行挂起、停止和恢复操作&#xff0c;以及需要注意的安全性和替代方…

一位年薪50W的测试被开除,回怼的一番话,令人沉思

一位年薪35W测试工程师被开除回怼道&#xff1a;“反正我有技术&#xff0c;在哪不一样” 一技傍身&#xff0c;万事不愁&#xff0c;当我们掌握了一技之长后&#xff0c;在职场上说话就硬气了许多&#xff0c;不用担心被炒&#xff0c;反过来还可以炒了老板&#xff0c;这一点…

【Linux操作系统】深入理解Linux系统编程中的传入参数、传出参数和传入传出参数

在Linux系统编程中&#xff0c;函数的参数扮演着至关重要的角色。参数的传递方式可以分为传入参数、传出参数和传入传出参数。本文将详细解释这三种参数的概念、特点以及如何使用它们来实现灵活和高效的函数调用和数据传递。 文章目录 1. 解释和举例1.1 传入参数&#xff08;i…

Python 3 使用Hadoop 3之MapReduce总结

MapReduce 运行原理 MapReduce简介 MapReduce是一种分布式计算模型&#xff0c;由Google提出&#xff0c;主要用于搜索领域&#xff0c;解决海量数据的计算问题。 MapReduce分成两个部分&#xff1a;Map&#xff08;映射&#xff09;和Reduce&#xff08;归纳&#xff09;。…

电脑合上盖子无线网络不会断开

控制面板\硬件和声音\电源选项\系统设置 最终选择不会采取任何操作 选择不会采取任何操作

限流在不同场景的最佳实践

目录导读 限流在不同场景的最佳实践1. 前言2. 为什么要限流3. 有哪些限流场景3.1 限流场景分类3.2 限流与熔断降级之间的关系3.3 非业务限流3.4 业务限流 4. 有哪些限流算法4.1 计数器限流算法4.2 漏桶限流算法4.3 令牌桶限流算法4.4 滑动时间窗限流算法4.5 限流算法选型 5. 限…

嵌入式 C 语言程序数据基本存储结构

一、5大内存分区 内存分成5个区&#xff0c;它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 1、栈区(stack)&#xff1a;FIFO就是那些由编译器在需要的时候分配&#xff0c;在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 ​…

Stable Diffusion AI绘图教学

课程介绍下载 这门课程将教授学生使用Stable Diffusion AI绘图工具进行数据可视化和图形设计。学生将学习基本的绘图原理、数据分析技巧&#xff0c;以及如何使用Stable Diffusion AI创建高质量的图表和可视化作品。通过实践项目和案例研究&#xff0c;学生将提升绘图技能&…

FlexRay汽车总线静电防护,如何设计保护方案图?

FlexRay是一种高速、实时、可靠、具备故障容错能力的总线技术&#xff0c;是继CAN和LIN总线之后的最新研发成果。FlexRay为线控应用&#xff08;即线控驱动、线控转向、线控制动等&#xff09;提供了容错和时间确定性性能要求。虽然FlexRay将解决当前高端和未来主流车载网络的挑…

.gitignore匹配规则

目录 1.直接一个名称2.斜杠 /3.符号 *4.问号 &#xff1f;5.感叹号 &#xff01;6.gitkeep 借鉴抖音账号&#xff1a; 渡一前端提薪课 1.直接一个名称 会忽略目录下的所有该名称文件和文件夹&#xff0c;无论嵌套多深。 2.斜杠 / 1.斜杠在开头(/dist)&#xff1a;忽略和.gitig…

【Kubernetes】Kubernetes的调度

K8S调度 一、Kubernetes 调度1. Pod 调度介绍2. Pod 启动创建过程3. Kubernetes 的调度过程3.1 调度需要考虑的问题3.2 具体调度过程 二、影响kubernetes调度的因素1. nodeName2. nodeSelector3. 亲和性3.1 三种亲和性的区别3.2 键值运算关系3.3 节点亲和性3.4 Pod 亲和性3.5 P…

Python 图形界面框架TkInter(第八篇:理解pack布局)

前言 tkinter图形用户界面框架提供了3种布局方式&#xff0c;分别是 1、pack 2、grid 3、place 介绍下pack布局方式&#xff0c;这是我们最常用的布局方式&#xff0c;理解了pack布局&#xff0c;绝大多数需求都能满足。 第一次使用pack&#xff08;&#xff09; import …

Web3.0:重新定义互联网的未来

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Web3.0&#xff1a;重新定义互联网的未来 Web3.0是指下一代互联网&#xff0c;也称为“分布式互联网”。相比于Web1.0和Web2.0&#xff0c;Web3.0具有更强的去中心化、…

LVS简介及LVS-DR搭建

目录 一. LVS简介&#xff1a; 1.简介 2. LVS工作模式&#xff1a; 3. LVS调度算法&#xff1a; 4. LVS-DR集群介绍&#xff1a; 二.LVS-DR搭建 1.RS配置 1&#xff09;两台RS&#xff0c;需要下载好httpd软件并准备好配置文件 2&#xff09;添加虚拟IP&#xff08;vip&…

c++(空间配置器)[32]

空间配置器 一级空间配置器 || 二级空间配置器 默认先走二级然后判断 二级空间配置器 一个指针指向start_free然后start_free向后移动&#xff0c;相当于哈希桶的头删和头插 8byte&#xff1a;切大补小 C的二级空间配置器按照8字节&#xff08;或者更大的倍数&#xff09;切分…

网络安全---正则回溯

目录 一、题目引入 二、举出回溯例子进行分析 第一步&#xff1a; 正则往前匹配 第二步&#xff1a;匹配到头 第三步&#xff1a;往回匹配 第四步&#xff1a;直到分号结束 &#xff08;匹配上&#xff09; 原因&#xff1a; 三、进入正题一&#xff08;分析题型&#…

【JavaWeb】实训的长篇笔记(下)

文章目录 八、功能实现1、注册功能2、登录功能3、问题说明4、首页数据显示5、后台管理 八、功能实现 1、注册功能 jsp&#xff1a;能够在页面中把数据动态化&#xff0c;jsp和html在元素标签上是无区别的&#xff0c;区别是html中写上java代码就成了jsp文件。filename.jsp。 需…

【Megatron-DeepSpeed】张量并行工具代码mpu详解(四):张量并行版Embedding层及交叉熵的实现及测试

相关博客 【Megatron-DeepSpeed】张量并行工具代码mpu详解(四)&#xff1a;张量并行版Embedding层及交叉熵的实现及测试 【Megatron-DeepSpeed】张量并行工具代码mpu详解(三)&#xff1a;张量并行层的实现及测试 【Megatron-DeepSpeed】张量并行工具代码mpu详解(一)&#xff1a…

安装paddleSeq2.7.0版本模块-笔记

安装paddleSeq2.7.0版本模块-笔记 先安装conda和python版本 本机安装的conda 22.9.0 python2.9.12 paddle2.4.2 paddlepaddle-gpu2.4.2 cuda10.2 安装matplotlib3.5.0版本 opencv_python-4.5.4.60-cp39-cp39-win_amd64.whl 测试采用分割模型名称&#xff1a;BiSeNetv2 #BiSe…