【Maven】如何创建/导入Maven项目?手把手教学(包括下载/安装/创建/配置)

简介: Maven是Java项目管理与构建工具,核心功能包括:依赖管理(自动下载jar包、解决版本冲突)、标准化构建(编译、测试、打包、部署)和统一项目结构(跨IDE兼容)。通过pom.xml配置,结合中央仓库与阿里云镜像,大幅提升开发效率。

前言

Maven 是一款用于管理和构建Java项目的工具。

一、Maven的概念

Maven 是一款用于管理和构建Java项目的工具。

二、Maven的作用

Maven的作用

(一) 依赖管理

方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题。

1. 只需要在maven项目的pom.xml文件中,添加一段如下图所示的配置即可实现!!

配置

2. 在maven项目的配置文件中,加入上面这么一段配置信息之后,maven会自动的根据配置信息的描述,去下载对应的依赖。 然后在项目中,就可以直接使用了。

(二) 项目构建

Maven提供了标准化的跨平台的自动化构建方式。

1. 通过Maven中的命令,可以很方便的完成项目的跨平台-编译(compile)、测试(test)、打包(package)、发布(deploy) 等操作

Maven项目构建

(三) 统一的项目结构

Maven 提供了标准、统一的项目结构。

1. 使用Maven这款项目构建工具,它给我们提供了一套标准的java项目目录。意味着,无论我们使用的是什么开发工具,只要是基于maven构建的java项目,最终的目录结构都是相同的。
2. 统一的maven项目结构

统一的Maven项目结构

4. 那这样呢,我们使用Eclipse、MyEclipse、IDEA创建的maven项目,就可以在各个开发工具之间直接导入使用了,更加方便、快捷。

三、Maven的核心内容

(一) Maven下载与安装

一、下载

下载网址:https://maven.apache.org/download.cgi
(建议:jdk版本、Maven版本:直接找公司组长或组员要,避免版本不兼容问题)

二、安装

1、解压安装(建议解压到没有中文、特殊字符的路径下)
2、配置本地仓库

● 在该安装目录下新建一个文件夹mvn-repo(本地maven仓库),用来存储jar包
配置本地仓库
● 进入到conf目录下修改settings.xml配置文件
● 新建标签体,将新建的用来存储jar包的文件路径放在标签体内
<localRepository>标签

3、配置阿里云私服

● 进入到conf目录下修改settings.xml配置文件:

  1. 在标签下为其添加子标签,内容如下:
<mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>
</mirror>
4、配置Maven环境变量(Maven环境变量的配置类似于JDK环境变量配置一样)
  1. 在系统变量处新建一个变量MAVEN_HOME。 MAVEN_HOME环境变量的值,设置为maven的解压安装目录
    image.png

  2. 在Path中进行配置。 PATH环境变量的值,设置为:%MAVEN_HOME%\bin
    image.png

  3. 打开DOS命令提示符进行验证,命令为:mvn -v,若如下图所示,则表示安装成功。
    image.png

(二)Maven模型

● 项目对象模型 (POM,Project Object Model):用来描述当前的maven项目
项目对象模型

● 依赖管理模型(Dependency)
○ Maven坐标
■ 概念:资源的唯一标识 , 通过该坐标可以唯一定位资源位置
■ 作用:使用坐标来定义项目或引入项目中需要的依赖
■ 主要组成:
依赖管理模型

● 构建生命周期/阶段(Build lifecycle & phases)

(三)创建Maven项目

创建Maven项目

一、配置Maven环境(在IDEA中配置Maven环境,默认全局设置)

  1. 进入IDEA的欢迎页面
    ● 选择 IDEA中 File
    ● => close project => Customize=> All settings
  2. 打开 All settings , 选择 Build,Execution,Deployment
    ● => Build Tools => Maven
  3. 配置工程的编译版本为17

    二、创建Maven项目

  4. 创建一个空项目,命名为 web-project01
  5. 创建好项目之后,进入项目中,要设置JDK的版本号。选择小齿轮,选择 Project Structure
  6. 创建模块,选择Java语言,选择Maven。 填写模块的基本信息
    image.png
  1. 在maven项目中,创建HelloWorld类,并运行

    (四)导入Maven项目

    建议:将要导入的maven项目复制到自己的项目目录下
    ● 方式一:File->Project Structure->Modules->Import Module->选择maven项目的pom.xml。
    image.png

● 方式二:Maven面板->+(Add Maven Projects)->选择maven项目的pom.xml。
image.png

(五)依赖引入

  1. 依赖的概念:指当前项目运行所需要的jar包。一个项目中可以引入多个依赖。
  2. 例如:在当前工程中,我们需要用到logback来记录日志,此时就可以在maven工程的pom.xml文件中,引入logback的依赖。具体步骤如下:
    a. 在pom.xml中编写标签
    b. 在标签中使用引入坐标
    c. 定义坐标的 groupId、artifactId、version
<dependencies>
  <!-- 依赖 : spring-context -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>6.1.4</version>
  </dependency>
</dependencies>
  1. 点击刷新按钮,引入最新加入的坐标
  2. 刷新依赖:保证每一次引入新的依赖,或者修改现有的依赖配置,都可以加入最新的坐标
    image.png

a. 如果引入的依赖,在本地仓库中不存在,将会连接远程仓库 / 中央仓库,然后下载依赖(这个过程会比较耗时,耐心等待)
b. 如果不知道依赖的坐标信息,可以到mvn的中央仓库(https://mvnrepository.com/)中搜索

(六)依赖传递

  1. 概念:如果在maven项目中,A 依赖了B,B依赖了C,C依赖了D,那么在A项目中,也会有C、D依赖,因为依赖会传递。

    (七)排除依赖(依赖排除)

  2. 概念:排除依赖指主动断开依赖的资源,被排除的资源无需指定版本。(如果传递下来的依赖,在项目开发中确实不需要,此时可以通过Maven中的排除依赖功能,来将这个依赖排除掉。)
  3. 配置形式如下:
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>6.1.4</version>

  <!--排除依赖, 主动断开依赖的资源-->
  <exclusions>
    <exclusion>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-observation</artifactId>
    </exclusion>
  </exclusions>
</dependency>

(八)Maven的生命周期

  1. 概念:描述了一次项目构建,经历哪些阶段。
    ● 生命周期的顺序是:clean --> validate --> compile --> test --> package --> verify --> install --> site --> deploy
    ● 着重关注:clean --> compile --> test --> package --> install
  2. 生命周期本身不做任何实际工作。在Maven的设计中,实际任务(如源代码编译)都交由插件来完成。
  3. 在同一套生命周期中,我们在执行后面的生命周期时,前面的生命周期都会执行。
  4. Maven对项目构建的生命周期划分为3套(相互独立):
    ● clean:清理工作。
    ● default:核心工作。如:编译、测试、打包、安装、部署等。
    ● site:生成报告、发布站点等。
    image.png

思考:当运行package生命周期时,clean、compile生命周期会不会运行?
clean不会运行,compile会运行。 因为compile与package属于同一套生命周期,而clean与package不属于同一套生命周期。
● clean:移除上一次构建生成的文件
● compile:编译项目源代码
● test:使用合适的单元测试框架运行测试(junit)
● package:将编译后的文件打包,如:jar、war等
● install:安装项目到本地仓库

  1. 执行指定的生命周期,有两种执行方式:
    a. 在idea工具右侧的maven工具栏中,选择对应的生命周期,双击执行
    b. 在DOS命令行cmd中,通过maven命令执行,比如命令:
    ○ mvn compile
    ○ mvn test
    ○ mvn package
    ○ mvn install

    四、Maven常见问题

    image.png

● 问题现象:Maven项目中添加的依赖,未正确下载,造成右侧Maven面板中的依赖报红,再次reload重新加载也不会再下载。
● 产生原因:由于网络原因,依赖没有下载完整导致的,在maven仓库中生成了xxx.lastUpdated文件,该文件不删除,不会再重新下载。
image.png

解决方案:

  1. 根据maven依赖的坐标,找到仓库中对应的 xxx.lastUpdated 文件,删除,删除之后重新加载项目即可。
  2. 通过命令 (del /s *.lastUpdated) 批量递归删除指定目录下的 xxx.lastUpdated 文件,删除之后重新加载项目即可。
  3. 重新加载依赖,依赖下载了之后,maven面板可能还会报红,此时可以关闭IDEA,重新打开IDEA加载此项目即可。
    为了使大家能够方便的解决这个问题,大家可以将资料中提供的 del.bat 批处理脚本,拷贝到maven的安装目录下。 双击这个文件,就可以递归删除该目录下所有的 xxx.lastUpdated 文件。 放置目录如下所示:
    image.png

● 附件(上述提到的del.bat批处理文件, 也可以直接点此下载):
del.bat

相关文章
|
13天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
19703 108
|
5天前
|
人工智能 安全 Linux
【OpenClaw保姆级图文教程】阿里云/本地部署集成模型Ollama/Qwen3.5/百炼 API 步骤流程及避坑指南
2026年,AI代理工具的部署逻辑已从“单一云端依赖”转向“云端+本地双轨模式”。OpenClaw(曾用名Clawdbot)作为开源AI代理框架,既支持对接阿里云百炼等云端免费API,也能通过Ollama部署本地大模型,完美解决两类核心需求:一是担心云端API泄露核心数据的隐私安全诉求;二是频繁调用导致token消耗过高的成本控制需求。
4146 7
|
7天前
|
人工智能 安全 API
OpenClaw“小龙虾”进阶保姆级攻略!阿里云/本地部署+百炼API配置+4种Skills安装方法
很多用户成功部署OpenClaw(昵称“小龙虾”)后,都会陷入“看似能用却不好用”的困境——默认状态下的OpenClaw更像一个聊天机器人,缺乏连接外部工具、执行实际任务的能力。而Skills(技能插件)作为OpenClaw的“动手能力核心”,正是打破这一局限的关键:装对Skills,它能帮你自动化处理流程、检索全网资源、管理平台账号,真正变身“能做事的AI管家”。
5021 7
|
9天前
|
人工智能 安全 前端开发
Team 版 OpenClaw:HiClaw 开源,5 分钟完成本地安装
HiClaw 基于 OpenClaw、Higress AI Gateway、Element IM 客户端+Tuwunel IM 服务器(均基于 Matrix 实时通信协议)、MinIO 共享文件系统打造。
7658 5
|
8天前
|
人工智能 API 网络安全
Mac mini × OpenClaw 保姆级配置教程(附阿里云/本地部署OpenClaw配置百炼API图文指南)
Mac mini凭借小巧机身、低功耗和稳定性能,成为OpenClaw(原Clawdbot)本地部署的首选设备——既能作为家用AI节点实现7×24小时运行,又能通过本地存储保障数据隐私,搭配阿里云部署方案,可灵活满足“长期值守”与“隐私优先”的双重需求。对新手而言,无需复杂命令行操作,无需专业技术储备,按本文步骤复制粘贴代码,即可完成OpenClaw的全流程配置,同时接入阿里云百炼API,解锁更强的AI任务执行能力。
6289 2
|
17天前
|
人工智能 自然语言处理 JavaScript
2026年Windows+Ollama本地部署OpenClaw保姆级教程:本地AI Agent+阿里云上快速搭建
2026年OpenClaw凭借本地部署、私有化运行的特性,成为打造个人智能体的核心工具,而Ollama作为轻量级本地大模型管理工具,能让OpenClaw摆脱对云端大模型的依赖,实现**本地推理、数据不泄露、全流程私有化**的智能体验。本文基于Windows 11系统,从硬件环境准备、Ollama安装与模型定制、OpenClaw部署配置、技能扩展到常见问题排查,打造保姆级本地部署教程,同时补充阿里云OpenClaw(Clawdbot)快速部署步骤,兼顾本地私有化需求与云端7×24小时运行需求,文中所有代码命令均可直接复制执行,确保零基础用户也能快速搭建属于自己的本地智能体。
18938 116
|
11天前
|
人工智能 JSON API
保姆级教程:OpenClaw阿里云及本地部署+模型切换流程+GLM5.0/Seedance2.0/MiniMax M2.5接入指南
2026年,GLM5.0、Seedance2.0、MiniMax M2.5等旗舰大模型相继发布,凭借出色的性能与极具竞争力的成本优势,成为AI工具的热门选择。OpenClaw作为灵活的AI Agent平台,支持无缝接入这些主流模型,通过简单配置即可实现“永久切换、快速切换、主备切换”三种模式,让不同场景下的任务执行更高效、更稳定。
6939 4
|
11天前
|
人工智能 JavaScript API
保姆级教程:OpenClaw阿里云/本地部署配置Tavily Search skill 实时联网,让OpenClaw“睁眼看世界”
默认状态下的OpenClaw如同“闭门造车”的隐士,仅能依赖模型训练数据回答问题,无法获取实时新闻、最新数据或训练截止日期后的新信息。2026年,激活其联网能力的最优方案是配置Tavily Search技能——无需科学上网、无需信用卡验证,每月1000次免费搜索额度完全满足个人需求,搭配ClawHub技能市场,还能一键拓展天气查询、邮件管理等实用功能。
6934 5

热门文章

最新文章