Maven正常运行需同时满足安装配置正确和项目遵循GAV坐标与标准目录结构。GAV由groupId(域名倒序)、artifactId(小写短横线名)、version(含-SNAPSHOT语义化版本)组成,三者共同定位仓库中唯一构件;标准目录结构包括src/main/java、src/test/java等子目录,pom.xml为元数据中枢。

要在本地成功运行Maven命令、让IDE正确识别项目、使依赖能被自动下载并参与编译,必须确保Maven已正确安装,且项目严格遵循GAV坐标定义和标准目录结构——这两项是Maven能自动工作的底层前提,缺一不可。
安装Maven并验证环境
从官网下载apache-maven-3.9.x-bin.zip(推荐3.9.6及以上),解压到纯英文路径下,例如D:\tools\apache-maven-3.9.6。
配置系统环境变量:MAVEN_HOME = 解压路径,再将%MAVEN_HOME%\bin追加进PATH。
打开新终端执行mvn -v,看到包含Apache Maven 3.9.x和Java版本的输出即为成功。若报“mvn不是内部或外部命令”,说明PATH未生效或未重启终端。
理解GAV坐标的构成与作用
GAV是Maven定位构件(如jar包)的唯一地址,由三部分组成:
① groupId:组织标识,通常用公司/机构域名倒写,如com.github.myorg;不能含下划线、空格,首段不能是数字。
② artifactId:项目名,全小写、用短横线分隔,如user-service-api;它在同一个groupId下必须唯一。
③ version:语义化版本号,如1.2.0或快照版1.2.0-SNAPSHOT;【SNAPSHOT版本每次install都会覆盖本地仓库中同名文件】。
三者组合后,对应本地仓库中的路径:~/.m2/repository/com/github/myorg/user-service-api/1.2.0/user-service-api-1.2.0.jar。
创建符合Maven约定的目录结构
方法一:手动创建(适合教学或轻量脚手架)
在任意空文件夹内,依次建立以下子目录:src/main/java → src/main/resources → src/test/java → src/test/resources → target(可留空,Maven会自动生成)。
方法二:用Maven原型快速生成(推荐)
执行命令:mvn archetype:generate -DgroupId=com.example -DartifactId=demo-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false。
这会自动生成完整结构,包括pom.xml和示例类;【注意:不要删掉pom.xml,它是整个项目的元数据中枢】。
方法三:在IDEA中新建Maven项目时勾选“Create from archetype”,选择maven-archetype-quickstart即可一键生成标准骨架。
pom.xml中声明GAV并校验结构
打开项目根目录下的pom.xml,在<project>标签内确认存在且正确填写了这三项:
<groupId>com.example</groupId>
<artifactId>demo-app</artifactId>
<version>1.0-SNAPSHOT</version>
保存后,在项目根目录执行mvn validate;如果控制台输出[INFO] BUILD SUCCESS且无红色ERROR,则说明GAV合法、目录结构被Maven识别成功。


















