Java基础教程(22)-构建工具Maven的基本使用

简介: 【4月更文挑战第22天】Maven是Java项目管理及构建工具,简化构建、测试、打包和部署等任务。遵循约定优于配置原则,核心是`pom.xml`配置文件,用于管理依赖和项目信息。安装涉及下载、解压、配置环境变量。在IDEA中使用Maven创建项目,通过`pom.xml`添加依赖和管理版本。常用命令包括`clean`、`compile`、`test`、`package`、`install`和`deploy`。IDEA支持直接执行这些命令。

构建工具Maven的基本使用

基于Windows机器和IDEA开发工具

maven介绍:

Maven 是一款流行的项目管理和构建自动化工具,尤其在 Java 开发领域被广泛应用。它遵循约定优于配置的原则,提供了一套标准化的构建流程、依赖管理和项目信息管理机制,极大地简化了软件项目的构建、测试、打包、部署等工作。

Maven下载和配置

  • 下载:访问 Maven 官方网站 下载最新稳定版本的安装包。
  • 解压:将下载的 .zip.tar.gz 文件解压到指定目录

  • 设置环境变量

    • 添加系统环境变量 M2_HOME,指向 Maven 解压后的目录。
    • 在系统环境变量 Path 中加入 %M2_HOME%\bin,使得可以在命令行直接运行 mvn 命令。
  • 验证安装:在命令行中输入 mvn -v,如果显示 Maven 的版本信息,说明安装成功。

创建 Maven 项目

  • 在IntelliJ IDEA 等集成开发环境中,使用内置的 Maven 项目创建向导,填写项目信息并选择 Archetype。

在这里插入图片描述

Maven 项目的pom.xml

pom.xml 是 Maven 项目的核心配置文件,主要包括以下内容:

  • 基本信息groupId(组织标识)、artifactId(项目唯一标识)、version(项目版本)。
  • 依赖管理:声明项目所需的依赖,包括 groupIdartifactIdversion
  • 构建配置:设置构建过程中的插件、构建目标、资源过滤规则等。
  • 插件管理:集中定义插件的版本,避免在各个插件声明中重复。
  • 构建 Profiles:为不同的构建环境(如开发、测试、生产)定义特定配置。

一个pom.xml大概是这个样子:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>project</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!-- 依赖项 -->
    <dependencies>
        <dependency>
            <groupId>...</groupId>
            <artifactId>...</artifactId>
            <version>...</version>
        </dependency>
        <!-- 更多依赖 -->
    </dependencies>

    <!-- 构建配置、插件等 -->
    <!-- ... -->
</project>

使用pom.xml管理项目依赖

  • 添加依赖:在 <dependencies> 标签内添加 <dependency> 标签,指定依赖的 groupIdartifactIdversion

  • 依赖范围:通过 scope 属性控制依赖在编译、测试、运行时的可见性,如 compiletestruntimeprovided 等。

  • 依赖调解:Maven 自动处理依赖传递和版本冲突。可以使用 <dependencyManagement> 标签集中管理版本。

maven常用插件

  • 在maven中常用插件有以下几个

    • maven-compiler-plugin:编译源代码,设置编译选项(如源码、目标码版本)。
    • maven-surefire-plugin:运行单元测试。
    • maven-jar-plugin:创建 JAR 包。
    • maven-war-plugin:创建 WAR 包。
    • maven-source-plugin:生成源码包。
    • maven-javadoc-plugin:生成 Java 文档。

    • 在pom.xml文件中添加插件

      <build><plugins> 标签内添加 <plugin> 标签,配置插件 ID、版本和目标(goal)。

maven常用命令:

  • 清理mvn clean 删除 target 目录下的编译结果、打包产物等。

  • 编译mvn compile 编译源代码,生成 .class 文件。

  • 测试

    • mvn test 编译并运行测试用例(如 JUnit、TestNG 等)。
    • mvn surefire-report:report 生成测试报告。
  • 打包

    • mvn package 编译、测试并生成最终打包文件(如 .jar.war.ear 等)。
  • 安装mvn install 将打包后的工件安装到本地仓库,供其他项目依赖。

  • 部署:(通常在 CI/CD 流程中)mvn deploy 将工件发布到远程仓库。

在IEAD中打开maven选项卡,可以选择后右键执行以上命令:

在这里插入图片描述

相关文章
|
5月前
|
Java 关系型数据库 数据库
Java 项目实战教程从基础到进阶实战案例分析详解
本文介绍了多个Java项目实战案例,涵盖企业级管理系统、电商平台、在线书店及新手小项目,结合Spring Boot、Spring Cloud、MyBatis等主流技术,通过实际应用场景帮助开发者掌握Java项目开发的核心技能,适合从基础到进阶的学习与实践。
914 3
|
3月前
|
NoSQL Java 网络安全
RedisFX Maven 使用教程
RedisFX 是基于 JavaFX 的 Redis 图形化管理工具,支持 SSH/SSL、Cluster 与 Sentinel 模式,提供多种数据类型操作。通过 Maven 集成,无需安装,版本可控,轻松嵌入 Java 项目,提升开发效率。需 JDK21+ 环境。
RedisFX Maven 使用教程
|
4月前
|
安全 Java
Java之泛型使用教程
Java之泛型使用教程
380 10
|
3月前
|
Oracle Java 关系型数据库
Java 简单教程
Java是跨平台、面向对象的编程语言,广泛用于企业开发、Android应用等。本教程涵盖环境搭建、基础语法、流程控制、面向对象、集合与异常处理,助你快速入门并编写简单程序,为进一步深入学习打下坚实基础。
388 0
|
11月前
|
JavaScript NoSQL Java
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
574 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
|
6月前
|
缓存 安全 Java
Java 并发新特性实战教程之核心特性详解与项目实战
本教程深入解析Java 8至Java 19并发编程新特性,涵盖CompletableFuture异步编程、StampedLock读写锁、Flow API响应式流、VarHandle内存访问及结构化并发等核心技术。结合电商订单处理、缓存系统、实时数据流、高性能计数器与用户资料聚合等实战案例,帮助开发者高效构建高并发、低延迟、易维护的Java应用。适合中高级Java开发者提升并发编程能力。
232 0
|
7月前
|
Oracle Java 关系型数据库
java 编程基础入门级超级完整版教程详解
这份文档是针对Java编程入门学习者的超级完整版教程,涵盖了从环境搭建到实际项目应用的全方位内容。首先介绍了Java的基本概念与开发环境配置方法,随后深入讲解了基础语法、控制流程、面向对象编程的核心思想,并配以具体代码示例。接着探讨了常用类库与API的应用,如字符串操作、集合框架及文件处理等。最后通过一个学生成绩管理系统的实例,帮助读者将理论知识应用于实践。此外,还提供了进阶学习建议,引导学员逐步掌握更复杂的Java技术。适合初学者系统性学习Java编程。资源地址:[点击访问](https://pan.quark.cn/s/14fcf913bae6)。
984 2
|
8月前
|
Java 测试技术 项目管理
【JavaEE】从 0 到 1 掌握 Maven 构建 Java 项目核心技巧 解锁 Java 项目高效管理实用实例
本文从Maven基础概念讲起,涵盖安装配置、核心概念(如POM与依赖管理)及优化技巧。结合Java Web项目实例,演示如何用Maven构建和管理项目,解决常见问题,助你高效掌握这一强大工具,提升Java开发与项目管理能力。适合初学者及进阶开发者学习。资源链接:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
300 6
|
消息中间件 Java 数据库
自研Java框架 Sunrays-Framework使用教程「博客之星」
### Sunrays-Framework:助力高效开发的Java微服务框架 **Sunrays-Framework** 是一款基于 Spring Boot 构建的高效微服务开发框架,深度融合了 Spring Cloud 生态中的核心技术组件。它旨在简化数据访问、缓存管理、消息队列、文件存储等常见开发任务,帮助开发者快速构建高质量的企业级应用。 #### 核心功能 - **MyBatis-Plus**:简化数据访问层开发,提供强大的 CRUD 操作和分页功能。 - **Redis**:实现高性能缓存和分布式锁,提升系统响应速度。 - **RabbitMQ**:可靠的消息队列支持,适用于异步
自研Java框架 Sunrays-Framework使用教程「博客之星」
|
存储 移动开发 算法
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
313 1