Maven安装及IDEA集成Maven

news2024/10/6 20:29:55

一、简介

  Maven是apache旗下的开源项目,是一款用于管理和构建java项目工具。 基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建。

在Maven项目中,有一个核心文件pom.xml。POM项目对象模型定义了项目的基本信息,用于描述心目如何构建,声明项目依赖。
没有任何的实际Java代码,我们就能顶一个Maven项目的POM,这体现了Maven的一大优点,它能让项目对象模型最大程度地与实际代码相互独立,即解耦,或者正交性。这在很大程度上避免了Java代码和POM代码的相互影响。比如当项目需要升级版本时,只需要修改POM,而不需要更待Java代码;而在POM稳定之后,日常的Java代码开发工作基本不涉及POM的修改。
下面的pom文件即为一个xml。

作用:

统一的项目结构: 

   

标准的项目构建: 

 

 模型:

 仓库jar包来源于maven目录下的mvn_repo文件夹,其中包含了大量的、不同版本的jar包。

仓库:用于存储资源,管理各种jar包

  • 本地仓库:自己计算机上的一个目录
  • 中央仓库:由Maven团队维护的全球唯一的。
  • 远程仓库:一般由公司团队搭建的私有仓库

 二、Maven的安装

1、解压apach-maven-3.6.1-bin-zip

2、配置本地仓库,修改conf/settings.xml中的<loaclRepository>为一个指定目录

在maven文件夹下新建文件夹名为mvn-repo,将其作为本地仓库。

下载的jar包将会自动存放在mvn-repo目录(本地仓库)下。 

3、配置阿里云私服,修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签:

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

4、配置环境变量,MAVEN_HOME为maven的解压目录,并将其bin加入PATH环境变量

 系统变量:

变量名为MAVEN_HOME

变量值为maven的解压目录

 path环境变量:

 

打错了HOME 

 成功后,maven的命令在任意目录均可以运行。

5、测试

主流jdk为11.0.1版本,将17版本改为11版本,并重新配置环境变量

 对于环境变量理解:在系统变量中设置变量名与变量值,如xxx_HOME为变量名,其变量值即为解压出来的文件路径。其次再配置环境变量,环境变量主要格式为%变量名%\bin(可执行的文件夹的路径)。先配置系统变量,再配置环境变量,系统变量值为解压路径,环境变量值为可执行文件的路径。如下:

系统变量:

 环境变量path:

 

 三、IDEA集成Maven

一、配置Maven环境

 

 并将Maven下的Runner也改为jdk11版本。

 二、创建Maven项目

idea2022

 模块名称、坐标信息:file--->New Module 

当首次创建时,将会下载jar包到本地仓库中。

出现以下错误:

 解决方案(未解决):

解决方案(idea2022)---以下是建立个webMaven:

Archetype这一项一定要点击选择!!!!!!!!!!!!再点击Add添加坐标!!!!!!!!!!!。

成功后目录结构如下: 

 以下是创建普通的Maven:

目录结构如下:

当运行显示java: 错误: 不支持发行版本 5  是jdk版本不一致

在pom.xml添加如下代码:

<properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
</properties>

 

 三、idea导入Maven项目

 

 四、依赖管理

一、依赖管理

二、依赖传递

 

 三、依赖范围

 五、生命周期

Maven的生命周期就是对所有的maven项目构建过程进行抽象和统一。

  

  •  clean :移除上一次构建生成的文件
  • compile:编译项目源代码
  • test:使用合适的单元测试框架运行测试(junit)
  • package:将编译后的文件打包,如jar,war等
  • install:安装项目到本地仓库

在同一套生命周期中,当运行到后面的阶段时,前面的阶段都会运行。

运行生命周期两种方式:

  • 在idea中,右侧的maven工具栏,选中对应的生命周期,双击运行
  • 在命令行中,通过命令执行
mvn clean
mvn compile
mvn package
mvn test

执行mvn clean此时项目下的target目录将消失。

若显示mvn不是可执行文件等等,将maven添加到用户变量中即可。 

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

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

相关文章

张驰咨询:我的六西格玛之旅——从学员到实践者的蜕变

各位领导、各位同事们大家好&#xff01;我是来自碳纤维事业部的王美玲&#xff0c;很荣幸作为学员代表在这里发言&#xff0c;下面谈谈我学习六西格玛的心得和体会。 一、全面系统&#xff0c;深学深悟 刚开始接触六西格玛时&#xff0c;我对于六西格玛的理解仅仅是理论层面…

xshell远程连接网络及属性设置

xshell 是一个非常强大的安全终端模拟软件,它支持 SSH1, SSH2, 以及 Windows 平台的 TELNET 协议。Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。 xshell最新版本是xshell7&#xff0c;常用 的xshell5、xshell6还可以使用…

k8s deployment创建pod流程图

参考 k8s 创建pod和deployment的流程 - SoulChild随笔记

typora的样式的修改

typora首先是一个浏览器&#xff0c; 当我们在typora的设置里面勾选开启调试模式之后&#xff0c; 我们在typora里面右键就会有“检查元素” 这个选项 首先右键 ----》检查元素 将普通字体变颜色 关于Typora修改样式 破解版的typora样式太单调&#xff1f;想让笔记可读性更高…

SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)

在上一篇文章&#xff0c;讲了服务的注册和发现。在微服务架构中&#xff0c;业务都会被拆分成一个独立的服务&#xff0c;服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式&#xff0c;一种是ribbonrestTemplate&#xff0c;另一种是feign。在这一篇文章…

【TypeScript】泛型

泛型&#xff08;Generics&#xff09;是 TypeScript 中一个重要的概念&#xff0c;它允许你在编写可重用、灵活的函数、类或接口时&#xff0c;参数或返回值的类型变成一个占位符。 下面是一些关于 TypeScript 泛型的基本概念和用法&#xff1a; 函数泛型&#xff1a; // 用…

实战:大数据Spark简介与docker-compose搭建独立集群

文章目录 前言技术积累Spark简介Spark核心功能及优势Spark运行架构 Spark独立集群搭建安装docker和docker-composedocker-compose编排docker-compose编排并运行容器 Spark集群官方案例测试写在最后 前言 很多同学都使用过经典的大数据分布式计算框架hadoop&#xff0c;其分布式…

disabled and validated 不能DML

Inserting Rows Not Allowed in Table with DISABLED and VALIDATED Constraint (Doc ID 139337.1)​编辑To Bottom Problem Description: You create a table with a referential integrity constraint (a foreign key constraint) referencing a view constraint.SQL> C…

深眸科技创新赋能视觉应用产品,以AI+机器视觉解决行业应用难题

随着工业4.0时代的加速到来&#xff0c;我国工业领域对于机器视觉技术引导的工业自动化和智能化需求持续上涨&#xff0c;国内机器视觉行业进入快速发展黄金期&#xff0c;但需求广泛出现同时也对机器视觉产品的检测能力提出了更高的要求。 传统机器视觉由人工分析图像特征&am…

【VS】InstallerProjects.vsix下载 Microsoft Visual Studio Installer Projects (2022)

InstallerProjects.vsix 是微软官方提供的winform程序打包工具&#xff0c;但是国内下载安装有时候比较慢。虽然只有5m左右&#xff0c;但是国内就是下载不下来。现将官网地址和下载后的百度网盘共享地址展示如下&#xff1a;方便大家使用 官方地址&#xff1a;https://market…

R语言实现网状Meta分析(1)

#R语言实现网状Meta library(gemtc) help(package"gemtc") data<-gemtc::smoking #注意按照实例格式编写数据 net<-mtc.network(data$data.ab) #网状图 plot(net,mode"circle",displaylabelsT,boxed.labelF) summary(net) #网状model model<-mtc…

软件开发企业SDL安全培训案例

1.背景 随着计算机技术的发展、internet及mobile应用的普遍使用,软件安全像功能、性能、稳定性一样是计算机系统的一个非常重要部分。没有安全的软件,任何美好的功能都是徒劳的,没有安全的软件,公司的机密数据、客户隐私、系统的可靠性都得不到保障.如何有效评估、开发安全、可…

第7天----【位运算进阶之----位或(|)】七夕特别版

❤️今天我们来学习位或 注意&#xff1a;本文中的位是从右往左来说的&#xff0c;也就是从低位开始数的&#xff01;&#xff01;&#xff01; 一、昨日重现&#xff1a; 当然&#xff0c;在正式学习之前&#xff0c;让我们先看看昨天留下的问题&#xff1a;⭐️如何判断一个…

二阶段——堆叠技术

堆叠技术——可以将多台真的物理设备逻辑上抽象成一台 思科——VPC 华为——IStack和CSS 华三——IRF 锐捷——VSU iStack和CSS的区别 CSS----集群---它仅支持将两台支持集群的交换机逻辑上整合成为一台设备 IStack---堆叠--可以将多台支持堆叠的交换机逻辑上整合成为一…

echarts三个月份数据对比图 实现思路

legend展示数据与tooltips数据不一致 先看结果&#xff1a;展示出来的legend 鼠标滑过当前日期展示的tooltips数据 这里的难点就是前两个月份的数据如何渲染上去到tooltips中&#xff0c;前两个月份的数据不在echarts的展示列。不能常规的series渲染。 后端给的数据&#xff…

Vue 3 常见面试题汇总

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 前言 最近两年许多大厂都在实行“降本增效”、“优化组织架构”&#xff0c;然后“为社会输送了大量人才”&#xff0c;今年&#xff08;2023&#xff…

单独说一下联合主键和组合索引

联合主键 mysql中,连点两个主键, 试验结果发现 只有当id 和 math 都一样时才会报主键重复, 这个就是联合主键 组合索引 mysql中,有一个主键了, 然后我自己创建了一个组合索引,这个索引是由math和sex两个列组成的. 试验结果发现 当math 和 sex都一样时会报重复错误.

穿起“新架构”的舞鞋,跳一支金融数字化转型的华尔兹

华尔兹&#xff0c;是男女两位舞者&#xff0c;通过形体的控制&#xff0c;舞步技巧的发挥&#xff0c;完美配合呈现而出的一种舞蹈形式。华尔兹舞姿&#xff0c;如行云流水、潇洒自如、飘逸优美&#xff0c;素有“舞中皇后”的美称。 在跳华尔兹的时候&#xff0c;如果舞者双…

想要恢复苹果删除的视频,一定不要错过这3个方法!

我是一名博主&#xff0c;前几天去外地拍了很多素材想留着制作下期视频。但是在清理手机内存的时候可能不小心点错了&#xff0c;然后我也没仔细看&#xff0c;就把拍的素材也一起删掉了。现在找不回来了&#xff0c;有什么办法能帮帮我吗&#xff1f; 对于苹果用户来说&#x…

chatGPT界面

效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html> <head><title>复选框样式示例</title> </head> <style>* {padding:0;margin: 0;}.chatpdf{display: flex;height: 100vh;flex-direction: row;}.chatpdf .pannel{widt…