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文件中与相对应本地仓库与的文件名删除

            

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

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

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

相关文章

【状态模式】拯救if-else堆出来的屎山代码

前言 我想大家平时都在开发重都遇见过屎山代码&#xff0c;这些屎山代码一般都是由于复杂且庞大的if-else造成的&#xff0c;状态模式&#xff0c;是一种很好的优化屎山代码的设计模式&#xff0c;本文将采用两个业务场景的示例来讲解如何使用状态模式拯救屎山代码。 目录 前…

【Android Framework系列】第10章 PMS之Hook实现广播的调用

1 前言 前面章节我们学习了【Android Framework系列】第4章 PMS原理我们了解了PMS原理&#xff0c;【Android Framework系列】第9章 AMS之Hook实现登录页跳转我们知道AMS可以Hook拦截下来实现未注册Activity页面的跳转&#xff0c;本章节我们来尝试一下HookPMS实现广播的发送。…

2023上半年京东手机行业品牌销售排行榜(京东数据平台)

后疫情时代&#xff0c;不少行业都迎来消费复苏&#xff0c;我国智能手机市场在今年上半年也实现温和的复苏&#xff0c;手机市场的出货量回暖。 根据鲸参谋平台的数据显示&#xff0c;2023年上半年&#xff0c;京东平台上手机的销量为2830万&#xff0c;环比增长约4%&#xf…

ORACLE行转列、列转行实现方式及案例

ORACLE行转列、列转行实现方式及案例 行转列案例方式1.PIVOT方式2.MAX和DECODE方式3.CASE WHEN和GROUP BY 列转行案例方式1.UNPIVOT方式2.UNION ALL 行转列 案例 假设我们有一个名为sales的表&#xff0c;其中包含了产品销售数据。表中有三列&#xff1a;product&#xff08;…

六轴机械臂码垛货物堆叠仿真

六轴机械臂码垛货物堆叠仿真 1、建立模型与仿真 clear,clc,close all addpath(genpath(.)) %建立模型参数如下&#xff1a; L(1) Link( d, 0.122, a , 0 , alpha, pi/2,offset,0); L(2) Link( d, 0.019 , a ,0.408 , alpha, 0,offset,pi/2); L(3) Link( d, …

汇编指令练习

1.大小比较&#xff08;循环&#xff09; start: /*mov r0,#0x9mov r1,#0xfb LoopLoop:cmp r0,r1beq stopsubhi r0,r0,r1subcc r1,r1,r0b Loop stop:b stop.end 仿真图 2. 1到100之和 start:mov r0,#0x1mov r1,#0x0b sum sum:add r1,r1,r0add r0,r0,#0x1cmp r0,#0x65beq sto…

HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

2023年8月6日华为开发者大会2023&#xff08;HDC.Together&#xff09;圆满收官&#xff0c;伴随着HarmonyOS 4的发布&#xff0c;华为向开发者发布了汇聚所有最新开发能力的HarmonyOS NEXT开发者预览版&#xff0c;并分享了围绕“一次开发&#xff0c;多端部署” “可分可合&a…

k8s service

1、认识Service 程序在容器中、容器在Pod中&#xff0c;可以通过pod的ip来访问应用程序&#xff0c;但是podIP会随着创建销毁而改变。由此&#xff0c;Service出现&#xff1a; Service会对提供同一个服务的多个pod进行聚合&#xff0c;并且提供一个统一的入口地址。通过访问…

new BigDecimal(double val)注意事项 / JWT解析BigDecimal类型数据

前言&#xff1a; 公司项目中有一个板块需要解析JWT令牌获取载荷里面封装的数据&#xff0c;遇到要解析一个BigDecimal类型的数据 问题发现过程&#xff1a; 正常来说&#xff0c;我们解析一个JWT令牌的步骤如下&#xff1a; public static Claims getDataFromToken(String tok…

探索 C++ 标准库:std::string 库函数用法示例

目录 引言 一、构造函数 1.1 string() 1.2 string (const string& str) 1.3 string (const string& str, size_t pos, size_t len npos) 1.4 string (const char* s) 1.5 string (const char* s, size_t n) 1.6 string (size_t n, char c&#xff09;​ 二、容…

EasyPoi导出 导入(带校验)简单示例 EasyExcel

官方文档 : http://doc.wupaas.com/docs/easypoi pom的引入: <!-- easyPoi--><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>4.0.0</version></dep…

Grounding DINO:根据文字提示检测任意目标

文章目录 1. 背景介绍2. 方法创新2.1 Feature Extraction and Enhancer2.2 Language-Guided Query Selection2.3 Cross-Modality Decoder2.4 Sub-Sentence Level Text Feature2.5 Loss Function3. 实验结果3.1 Zero-Shot Transfer of Grounding DINO3.2 Referring Object Detec…