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>
AI 代码解读

使用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选项卡,可以选择后右键执行以上命令:

在这里插入图片描述

目录
打赏
0
0
0
0
1634
分享
相关文章
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
206 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
自研Java框架 Sunrays-Framework使用教程「博客之星」
### Sunrays-Framework:助力高效开发的Java微服务框架 **Sunrays-Framework** 是一款基于 Spring Boot 构建的高效微服务开发框架,深度融合了 Spring Cloud 生态中的核心技术组件。它旨在简化数据访问、缓存管理、消息队列、文件存储等常见开发任务,帮助开发者快速构建高质量的企业级应用。 #### 核心功能 - **MyBatis-Plus**:简化数据访问层开发,提供强大的 CRUD 操作和分页功能。 - **Redis**:实现高性能缓存和分布式锁,提升系统响应速度。 - **RabbitMQ**:可靠的消息队列支持,适用于异步
自研Java框架 Sunrays-Framework使用教程「博客之星」
Java构建工具-maven的复习笔记【适用于复习】
这篇文档由「潜意识Java」创作,主要介绍Maven的相关知识。内容涵盖Maven的基本概念、作用、项目导入步骤、依赖管理(包括依赖配置、代码示例、总结)、依赖传递、依赖范围以及依赖的生命周期等七个方面。作者擅长前端开发,秉持“得之坦然,失之淡然”的座右铭。期待您的点赞、关注和收藏,这将是作者持续创作的动力! [个人主页](https://blog.csdn.net/weixin_73355603?spm=1000.2115.3001.5343)
54 3
探究Java异常处理【保姆级教程】
Java 异常处理是确保程序稳健运行的关键机制。它通过捕获和处理运行时错误,避免程序崩溃。Java 的异常体系以 `Throwable` 为基础,分为 `Error` 和 `Exception`。前者表示严重错误,后者可细分为受检和非受检异常。常见的异常处理方式包括 `try-catch-finally`、`throws` 和 `throw` 关键字。此外,还可以自定义异常类以满足特定需求。最佳实践包括捕获具体异常、合理使用 `finally` 块和谨慎抛出异常。掌握这些技巧能显著提升程序的健壮性和可靠性。
59 4
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
63 1
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
3012 2
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
240 26
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
67 0
|
4月前
|
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
141 1
从零开始学 Maven:简化 Java 项目的构建与管理
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)

推荐镜像

更多