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

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

相关推荐
大模型玩家七七36 分钟前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch
寻星探路6 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
曹牧8 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法9 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7259 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎9 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄9 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿9 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds9 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化