Java中Maven详解_java maven在哪

createh54周前 (02-17)技术教程24

什么是maven

Maven 是一个项目管理工具,它包含了一个项目对象模、型 (POM: Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

maven能做什么

1,省去jar包的导入,而是坐标来进行导入,减少了项目的内存大小

2,更加方便的构建项目,实现项目的一键构建。指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,这个过程称为构建

Maven 仓库的分类

maven 的工作需要从仓库下载一些 jar 包,如下图所示,本地的项目 A、项目 B 等都会通过 maven软件从远程仓库(可以理解为互联网上的仓库)下载 jar 包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此 jar 包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。

下图描述了 maven 中仓库的类型:

本地仓库 :用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包,优先从本地仓库查找默认本地仓库位置在${user.dir}/.m2/repository, ${user.dir}表示 windows 用户目录

远程仓库:如果本地需要插件或者 jar 包,本地仓库没有, 默认去远程仓库下载。远程仓库可以在互联网内也可以在局域网内。

中央仓库 :在 maven 软件中内置一个远程仓库地址
http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包含了世界上大部分流行的开源项目构件。

maven 的概念模型

Maven 包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

? 项目对象模型 (Project Object Model)

一个 maven 工程都有一个 pom.xml 文件,通过 pom.xml 文件定义项目的坐标、项目依赖、项目信息、

插件目标等。

? 依赖管理系统(Dependency Management System)

通过 maven 的依赖管理对项目所依赖的 jar 包进行统一管理。

比如:项目依赖 junit4.9,通过在 pom.xml 中定义 junit4.9 的依赖即使用 junit4.9,如下所示是 junit4.9的依赖定义:

? 一个项目生命周期(Project Lifecycle)

使用 maven 完成项目的构建,项目构建包括:清理、编译、测试、部署等过程, maven 将这些

过程规范为一个生命周期,如下所示是生命周期的各各阶段:

常用的 maven 命令

compile:编译

clean:清理

test:测试

package:打包

install:安装

坐标定义

在 pom.xml 中定义坐标,内容包括: groupId、 artifactId、 version,详细内容如下:

cn.itcast.maven

maven-first

0.0.1-SNAPSHOT

:打包类型

jar:执行 package 会打成 jar 包

war:执行 package 会打成 war 包

pom :用于 maven 工程的继承,通常父工程设置为 pom

pom 基本配置

pom.xml 是 Maven 项目的核心配置文件,位于每个工程的根目录,基本配置如下:

:文件的根节点 .

: pom.xml 使用的对象模型版本

: 项目名称,一般写项目的域名

: 模块名称,子项目名或模块名称

:产品的版本号 .

:打包类型,一般有 jar、 war、 pom 等

:项目的显示名,常用于 Maven 生成的文档。

:项目描述,常用于 Maven 生成的文档

:项目依赖构件配置,配置项目依赖构件的坐标

:项目构建配置,配置编译、运行插件等。

相关文章

用Maven进行Java项目的构建和管理

使用Maven进行Java项目的构建和管理,可以分为以下几个详细步骤:1. 安装Maven下载Maven访问Maven官方网站,下载适合你操作系统的Maven版本。解压下载的压缩包到一个合适的目录。配...

解锁高效开发:Maven——Java项目的“瑞士军刀”

一、开篇:Maven——Java 项目的得力助手在 Java 开发的世界里,你是否曾被项目依赖管理搞得焦头烂额?不同版本的类库相互冲突,构建流程复杂繁琐,仿佛一团乱麻,让开发效率大打折扣。别急,今天就...

Java中的依赖管理:Maven与Gradle的比较

在Java开发中,依赖管理是一个非常重要的环节。无论是大型项目还是小型应用程序,我们都需要处理各种库和框架的依赖关系。今天,我将为大家详细介绍两种流行的依赖管理工具:**Maven**和**Gradl...

走进Maven世界_maven central repository

Maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务的具体实现,自动测试、打包、生成文档和报表;它跨平台,同时提供了中央仓库,只需要在pom.xml中配置下所需的jar...

Ant、 Maven 、 Gradle—Java构建工具比较

根据相关报告,大多数Java开发人员使用Maven作为他们的主要构建工具,在67%的受访者中。排名第二和第三的分别是20%的Gradle和11%的Ant。 这三个构建工具一直排在Java开发人员的前三...