Maven简单介绍

Maven 是一个项目管理和构建工具,主要用于 Java 项目。它帮助开发者自动化管理项目的依赖、构建过程、报告生成等任务。下面是关于 Maven 的一些基本信息,以及如何在本地设置和在 IDE(如 IntelliJ IDEA)中配置 Maven 的步骤。

什么是 Maven?

  1. 项目管理工具:Maven 管理项目的依赖库、插件和其他构建工具,确保项目中的所有组件都可以正确地工作。
  2. 构建工具:Maven 自动化执行项目的编译、测试、打包等过程。
  3. 依赖管理:Maven 通过一个中央仓库管理项目所需的所有依赖项,确保开发人员不必手动下载和配置每个依赖项。

安装和配置 Maven

1. 下载 Maven

你可以从 Apache Maven 的官方网站下载 Maven:

  • 官网链接: Maven Download

选择适合你操作系统的版本下载。

2. 安装 Maven

下载并解压 Maven 压缩包到一个你选择的目录中。

3. 配置环境变量

你需要将 Maven 的 bin 目录添加到系统的 PATH 环境变量中:

  • Windows:

    1. 打开系统属性(右键单击“此电脑” -> 属性)。
    2. 点击“高级系统设置”。
    3. 点击“环境变量”按钮。
    4. 在系统变量部分找到 Path 变量并编辑。
    5. 添加 Maven 的 bin 目录路径,比如 C:\maven\bin
  • macOS/Linux: 在终端中打开 ~/.bash_profile~/.zshrc 文件并添加export,比如我的电脑(mac)在文档目录下:

    export PATH=/Users/linwang.chen/Documents/apache-maven-3.9.7/bin:$PATH

    保存文件后,运行 source ~/.bash_profilesource ~/.zshrc 以使更改生效。

4. 验证安装

打开一个新的终端或命令提示符,输入以下命令验证 Maven 是否正确安装:

mvn -version

你应该会看到 Maven 的版本信息和配置信息。

在 IntelliJ IDEA 中配置 Maven

1. 设置 Maven

IntelliJ IDEA 通常会自动检测你的 Maven 安装。如果没有,你可以手动配置:

  1. 打开 IntelliJ IDEA,转到 File -> Settings(Windows/Linux)或 IntelliJ IDEA -> Preferences(macOS)。
  2. 在左侧面板中选择 Build, Execution, Deployment -> Build Tools -> Maven
  3. Maven home directory 字段中,指定 Maven 的安装路径。
2. 创建或导入 Maven 项目
  • 创建 Maven 项目

    1. 打开 IntelliJ IDEA,选择 File -> New -> Project
    2. 选择 Maven,然后点击 Next
    3. 填写项目的 GroupIdArtifactId 等信息,然后点击 Finish
  • 导入现有的 Maven 项目

    1. 打开 IntelliJ IDEA,选择 File -> New -> Project from Existing Sources
    2. 选择你的 Maven 项目的目录,点击 Next
    3. IDEA 会自动识别 pom.xml 文件并导入项目。

典型的 pom.xml 文件

以下是一个简单的 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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>my-app</artifactId><version>1.0-SNAPSHOT</version><dependencies><!-- 示例依赖 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies>
</project>

通过这个文件,你可以定义项目的基本信息和依赖项,Maven 会自动下载和管理这些依赖。

重新导入 Maven 项目

  1. 强制 Maven 重新导入
    • 在 IntelliJ IDEA 中,打开 View > Tool Windows > Maven
    • 点击刷新图标,或者右键点击项目根目录选择 Reimport

我的是2024版本Idea,所以没找到

2024版:  选中根目录,右键,找到maven ,reload Project

总结

Maven 是一个强大的工具,可以简化和自动化 Java 项目的构建和依赖管理过程。通过正确安装和配置 Maven,以及在你的 IDE 中设置 Maven,你可以更高效地管理和开发你的 Java 项目。

文末链接一个大佬写的spring boot学习教程,个人觉得很不错,喜欢的可以去学习,传送门。

喜欢的请点赞收藏哟,感谢您~   mua~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/851357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Modelground】个人AI产品MVP迭代平台(5)——神投手(实时投篮检测游戏)

文章目录 介绍篮框识别进球算法离屏渲染总结 介绍 神投手是我开发的一款移动端web实时投篮检测游戏。其解决的痛点是&#xff1a;专为投篮训练而生的&#xff0c;有手机就能玩的投篮计数游戏。我本人是一个篮球爱好者&#xff0c;特点就是投篮准&#xff0c;虽然投篮挺靠天赋&…

第二十一节:带你梳理Vue2: 父组件使用子组件时的修饰符和双向数据绑定

1. 原生事件修饰符.native 1.1. 关于组件标签上的事件 在组件标签上是没办法触发原生的js事件的,vue会将其作为自定义事件处理 示例代码如下: <div id"app"><!-- 使用组件 --><!-- 组件标签上使用DOM元素原生事件不会触发, --><my-compone…

DevExpress WPF中文教程:Grid - 如何向项目添加GridControl并绑定到数据

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

第十二届蓝桥杯单片机国赛练习代码

文章目录 前言一、问题重述二、主函数总结 前言 第十五蓝桥杯国赛落幕已有十天&#xff0c;是时候总结一下&#xff0c;这个专栏也将结束。虽然并没有取得预期的结果&#xff0c;但故事结尾并不总是美满的。下面是赛前练习的第十二届国赛的代码。 一、问题重述 二、主函数 完整…

大数据快速使用Kerberos认证集群

一、创建安全集群并登录其Manager 创建安全集群&#xff0c;开启“Kerberos认证“参数开关&#xff0c;并配置“密码“、“确认密码“参数。该密码用于登录Manager&#xff0c;请妥善保管。 登录MRS管理控制台页面。 单击“集群列表“&#xff0c;在“现有集群“列表&#xf…

虚拟机调用摄像头设备一直 select timeout问题的解决

在VMware里面调用v4l2-ctl捕获图像&#xff0c;或者opencv的VideoCapture(0)捕获图像&#xff0c;或者直接调用v4l2的函数&#xff0c;在streamon后&#xff0c;调用select读取数据&#xff0c;均会一直提示select timeout的问题&#xff0c;大概率是由于USB版本的兼容性造成的…

fs.1.10 ON rockylinux8 docker镜像制作

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 rockylinux docker上编译安装fs1.10版本的流程记录。 环境 docker engine&#xff1a;Version 24.0.6 rockylinux docker&#xff1a;8 freeswitch&#xff1a;v1.10.7 手动模式 rockylinux准备 docker hub拉取r…

MySql一条查询语句的执行流程是怎么样的?

MySql一条查询语句的执行流程是怎么样的&#xff1f; 1.前言 一条sql语句到底在执行时经历了什么&#xff1f;探究这个问题是学习mysql的重要步骤&#xff0c;面试时常被问到&#xff0c;也使得学习mysql时也有了知识框架的支撑&#xff0c;明白我们背的知识点到底用在哪里&a…

为什么要进行渗透测试?

渗透测试的重要性 渗透测试是一种安全评估技术&#xff0c;旨在模拟黑客攻击&#xff0c;发现和利用系统漏洞&#xff0c;以评估企业信息系统的安全性。以下是进行渗透测试的几个主要原因&#xff1a; 1.发现潜在的漏洞和安全风险&#xff1a;渗透测试可以模拟真实的攻击行为…

AI智能体做高考志愿填报分析

关注公众号&#xff0c;赠送AI/Python/Linux资料&#xff0c;对AI智能体有兴趣的朋友也可以添加一起交流 高考正在进行时&#xff0c;学生焦虑考试&#xff0c;家长们焦虑的则是高考志愿怎么填。毕竟一个好的学校&#xff0c;好的专业是进入社会的第一个敲门砖 你看张雪峰老师…

2024.6.10学习记录

1、代码随想录二刷 2、项目难点 review 3、计组复习

RabbitMQ-工作模式(Topics模式RPC模式Publisher Confirms模式)

文章目录 Topics模式topic代码示例 RPC模式客户端界面回调队列关联ID总结RPC代码示例 Publisher Confirms模式概述在通道上启用发布者确认单独发布消息批量发布消息异步处理发布者确认总结总体代码示例 更多相关内容可查看 Topics模式 在Topics中&#xff0c;发送的消息不能具…

目标检测算法YOLOv9简介

YOLOv9由Chien-Yao Wang等人于2024年提出&#xff0c;论文名为&#xff1a;《YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information》&#xff0c;论文见&#xff1a;https://arxiv.org/pdf/2402.13616 &#xff1b;源码见: https://github.com/W…

一文带你轻松掌握Java数组定义和声明

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

ChatGPT原理10min快速掌握

一、引言 ChatGPT是一种基于人工智能技术的自然语言处理工具&#xff0c;由OpenAI开发。它利用深度学习技术&#xff0c;通过理解和学习人类语言来进行对话。ChatGPT的核心是使用了一种称为“Transformer”的深度学习架构&#xff0c;这种架构使得模型能够学习从输入文本到输出…

Java_Map集合

认识Map集合 Map集合称为双列集合&#xff0c;格式&#xff1a;{key1value&#xff0c;key2value2,key3value3,…},一次需要存一对数据作为一个元素。 Map集合的每个元素“Keyvalue” 称为一个键值对/键值对对象/一个Entry对象&#xff0c;Map集合也被叫做“键值对集合” Map集…

Vue笔记(二)

Vue&#xff08;一&#xff09;&#xff1a;Vue笔记&#xff08;一&#xff09;-CSDN博客 综合案例&#xff1a;水果购物车 项目功能&#xff1a; 视频链接&#xff1a;034-水果购物车-基本渲染_哔哩哔哩_bilibili 目录结构&#xff1a; index.css .app-container {padding-…

已解决Error || RuntimeError: size mismatch, m1: [32 x 100], m2: [500 x 10]

已解决Error || RuntimeError: size mismatch, m1: [32 x 100], m2: [500 x 10] 原创作者&#xff1a; 猫头虎 作者微信号&#xff1a; Libin9iOak 作者公众号&#xff1a; 猫头虎技术团队 更新日期&#xff1a; 2024年6月6日 博主猫头虎的技术世界 &#x1f31f; 欢迎来…

第十一篇——信息增量:信息压缩中的保守主义原则

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 通过信息中的保守主义&#xff0c;我想到了现实中人的保守主义一样&#…

汇编语言作业(五)

目录 一、实验目的 二、实验内容 三、实验步骤以及结果 四、实验结果与分析 五、 实验总结 一、实验目的 1.熟悉掌握汇编语言的程序结构&#xff0c;能正确书写数据段、代码段等 2&#xff0c;利用debug功能&#xff0c;查看寄存器&#xff08;CS,IP,AX,DS..)及数据段的…