Maven解析

目录

Maven的概念

Pom

项目坐标

仓库

Maven环境搭建

安装jdk

配置maven

配置本地仓库地址

[配置阿里云 maven 镜像仓库,下载速度更快](#配置阿里云 maven 镜像仓库,下载速度更快)

在idea中配置maven

​编辑

pom中名词解释

Maven命令


Maven的概念

Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它 用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、 测试、打包和发布等工作。

Pom

Project Object Model 项目对象模型:根目录下都会有一个xml文件,指示maven怎样工作在 pom.xml 文件中配置项目基本信息以及项目构建信息等。比如:项目坐标、 项目依赖的 jar、插件、编译选项等。

项目坐标

jar包在仓库中的位置

坐标由4个部分构成: groupId(组id)、artifactId(项目名)、packaging(jar,war)、version(版本)

仓库

中央仓库全球共享,先将 jar 从中央仓库下载到本地仓库,然后在项目中引用本地仓库的 jar,在自己的项目使用时,首先会从本地仓库查找,本地仓库如果没有,会从中央仓库或者镜像仓库下载

Maven环境搭建

安装jdk

Maven Repository: Search/Browse/Explore (mvnrepository.com)

配置maven

后在系统环境 中配置环境变量,在path中配置到bin目录,配置成功后输入命令mvn -version 查看版本如下图

配置本地仓库地址

需要在 maven 的服务器解压的文件中找到 conf 文件夹下的 settings.xml 文件进行修改,如下图所示

配置阿里云 maven 镜像仓库,下载速度更快

再mirrors中添加

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

在idea中配置maven

pom中名词解释

<groupid><artifactId><version>:依赖项的坐标

<type>:依赖项的 packaging 类型,默认是 jar

<scope>:依赖项的作用范围,默认是 compile。各个取值及含义如下

compile:编译时和运行时依赖。如果你的项目最终打包为 war 包,则该依赖 包会被拷贝到 war 包中的 lib 目录中。

provided:编译项目主代码和测试代码时使用此依赖项,运行时由 jre 或 web 容器提供。如果你的项目最终打包为 war 包,则该 jar 包不会被打包。

Maven命令

compile 编译命令

clean 删除之前编译的内容

package 打包 将项目打包成一个jar包或者war包

install 把项目 install 到本地仓库文件上传都是一个个组件,写好后,应该安装到(发布到)仓库中去,

这样在其他的项目中就可以使用了

相关推荐
a5876936 分钟前
消息队列(MQ)初级入门:详解RabbitMQ与Kafka
java·分布式·microsoft·面试·kafka·rabbitmq
千里码aicood1 小时前
【springboot+vue】党员党建活动管理平台(源码+文档+调试+基础修改+答疑)
java·数据库·spring boot
Chan161 小时前
【智能协同云图库】基于统一接口架构构建多维度分析功能、结合 ECharts 可视化与权限校验实现用户 / 管理员图库统计、通过 SQL 优化与流式处理提升数据
java·spring boot·后端·sql·spring·intellij-idea·echarts
先做个垃圾出来………1 小时前
差分数组(Difference Array)
java·数据结构·算法
BillKu1 小时前
Java核心概念详解:JVM、JRE、JDK、Java SE、Java EE (Jakarta EE)
java·jvm·jdk·java ee·jre·java se·jakarta ee
刘婉晴2 小时前
【Java】NIO 简单介绍
java·nio
渣哥2 小时前
聊聊我和 ArrayList、LinkedList、Vector 的“一地鸡毛”
java
浮游本尊2 小时前
Java学习第20天 - 性能优化与监控
java
纪莫3 小时前
技术面:Java并发(线程同步、死锁、多线程编排)
java·java面试⑧股
衍余未了3 小时前
k8s 内置的containerd配置阿里云个人镜像地址及认证
java·阿里云·kubernetes