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

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

相关推荐
caoerzhong几秒前
JeeWMS 开源 WMS 部署避坑指南:Java 仓库管理系统的环境基线、四类根因与可复现交付
java·开发语言·开源
用户3721574261351 分钟前
Java 合并 PDF 文件:完整合并、指定页面合并与流合并
java
for_ever_love__36 分钟前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
java资料站40 分钟前
五、Spring AI Alibaba · Memory · Saver(短期会话)
java·spring·microsoft
夜之眷属2 小时前
Core dump 崩溃排查:JVM 宕机后,那份 core 文件怎么用 gdb 还原现场
java·运维·服务器·jvm
波加曼大王2 小时前
# vLLM不要迷信PagedAttention神话,聊聊线上藏着的内部碎片陷阱
java·架构
SL_staff2 小时前
目标健康度自检清单:开发者视角下的目标-计划-任务链路断点诊断
java·开源·github
for_ever_love__2 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
神仙别闹2 小时前
基于C++实现的贪吃蛇游戏平台
java·c++·游戏
布吉岛的石头2 小时前
Java 程序员第 49 阶段11:Java 接 BERT:用 ONNX Runtime 做句向量推理
java·人工智能·python·深度学习·bert·transformer