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 到本地仓库文件上传都是一个个组件,写好后,应该安装到(发布到)仓库中去,

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

相关推荐
wdfk_prog5 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
卓怡学长6 小时前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
这个DBA有点耶8 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
csdn2015_9 小时前
springboot读取配置的方法
java·spring boot·spring
AOwhisky9 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
云云只是个程序马喽11 小时前
海外短剧平台搭建方案:私有化源码系统选型|云微短剧系统技术架构拆解
java·php
C137的本贾尼12 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件
Flittly12 小时前
【AgentScope Java新手村系列】(19)多模态-图像音频视频
java·spring boot·spring
Javatutouhouduan12 小时前
国内大厂Java面试高频题库(2026突击版)
java·架构师·java面试·java面试题·后端开发·java程序员·java八股文
Tim_1012 小时前
【C++】017、new/delete与malloc/free的区别
java·数据结构·算法