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

在这里插入图片描述

相关文章
|
19小时前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
【5月更文挑战第10天】本文介绍了使用Java和Selenium进行Web自动化测试的实践,以安居客网站为例。最后,提到了在浏览器开发者工具中调试和观察页面元素的方法。
11 2
|
1天前
|
前端开发 JavaScript Java
npm与Maven:前端与后端构建工具深度对比学习
npm与Maven:前端与后端构建工具深度对比学习
|
1天前
|
算法 Java Python
保姆级Java入门练习教程,附代码讲解,小白零基础入门必备
保姆级Java入门练习教程,附代码讲解,小白零基础入门必备
|
1天前
|
Web App开发 JavaScript 测试技术
《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
【5月更文挑战第9天】本文介绍了在Appium中处理App自动化测试中遇到的Toast元素定位的方法。Toast在Web UI测试中也常见,通常作为轻量级反馈短暂显示。文章提供了两种定位Toast元素的技巧.
10 0
|
2天前
|
Java Maven 开发者
Java一分钟之-Maven项目管理工具使用
【5月更文挑战第15天】Maven是Java开发的项目管理工具,用于自动化构建、依赖管理和项目信息管理。通过POM模型管理项目,依赖中央仓库。基本目录包括`src/main/java`、`src/main/resources`、`src/test/java`和`src/test/resources`。常用命令有`clean`、`compile`、`test`、`package`和`install`。面对依赖冲突、找不到依赖或编译错误,可以调整`pom.xml`或`settings.xml`。理解Maven的工作原理和解决常见问题能提升开发效率。
17 0
|
2天前
|
存储 Java Maven
Maven 构建 Java 项目
使用 Maven 的 `maven-archetype-quickstart` 插件在 `C:\MVN` 创建 Java 应用项目 `consumerBanking`,命令行参数包括 `-DgroupId`, `-DartifactId` 和 `-DarchetypeArtifactId`。项目包含 src/main/java 和 src/test/java 目录,分别存放 Java 代码和测试代码,以及 src/main/resources 用于存储资源文件。默认生成的 `App.java` 和 `AppTest.java` 分别为应用主类和测试类。
|
2天前
|
Web App开发 缓存 前端开发
《手把手教你》系列技巧篇(四十四)-java+ selenium自动化测试-处理https 安全问题或者非信任站点-下篇(详解教程)
【5月更文挑战第8天】这篇文档介绍了如何在IE、Chrome和Firefox浏览器中处理不信任证书的问题。作者北京-宏哥分享了如何通过编程方式跳过浏览器的证书警告,直接访问不受信任的HTTPS网站。文章分为几个部分,首先简要介绍了问题背景,然后详细讲解了在Chrome浏览器中的两种方法,包括代码设计和运行效果,并给出了其他浏览器的相关信息和参考资料。最后,作者总结了处理此类问题的一些通用技巧。
16 2
|
2天前
|
Java Android开发
【Java开发指南 | 第十八篇】Eclipse安装教程
【Java开发指南 | 第十八篇】Eclipse安装教程
11 2
|
2天前
|
Web App开发 JavaScript 前端开发
《手把手教你》系列技巧篇(四十三)-java+ selenium自动化测试-处理https 安全问题或者非信任站点-上篇(详解教程)
【5月更文挑战第7天】本文介绍了如何在Java+Selenium自动化测试中处理浏览器对不信任证书的处理方法,特别是针对IE、Chrome和Firefox浏览器。在某些情况下,访问HTTPS网站时会遇到证书不可信的警告,但可以通过编程方式跳过这些警告。
13 1
|
2天前
|
数据采集 前端开发 Java
Java医院绩效考核系统源码maven+Visual Studio Code一体化人力资源saas平台系统源码
医院绩效解决方案包括医院绩效管理(BSC)、综合奖金核算(RBRVS),涵盖从绩效方案的咨询与定制、数据采集、绩效考核及反馈、绩效奖金核算到科到组、分配到员工个人全流程绩效管理;将医院、科室、医护人员利益绑定;全面激活人才活力;兼顾质量和效益、长期与短期利益;助力医院降本增效,持续改善、优化收入、成本结构。
15 0

热门文章

最新文章

推荐镜像

更多