周青的日常问题记录

项目场景:

学习硅谷电商毕设项目_微服务版本,建站练手。进行到商城前端服务开发的用户服务 store-front-user阶段,pom文件导入依赖报错。


问题描述

报错为
Unresolved dependency: 'com.atguigu:store-commons:jar:1.0.0':

Failed to execute goal on project xxx: Could not resolve dependencies for project com

Could not find artifact com.atguigu:store-commons:jar:
Maven栏飘红

关于Failed to execute goal on project xxx: Could not resolve dependencies for project com的问题自己之前部署时遇到过,用总结过的[ERROR] Failed to execute goal on project的方法解决仍然不能解决


原因分析:

对Maven的了解过于浅显,没有系统学习过Maven

此处注上对于解决此问题用到的maven基础知识,对maven熟悉的朋友可略过不看:

Maven 坐标

Maven 坐标一套规则,它规定:世界上任何一个构件都可以使用 Maven 坐标并作为其唯一标识,Maven 坐标包括 groupId、artifactId、version、packaging 等元素,只要用户提供了正确的坐标元素,Maven 就能找到对应的构件。
以下是 helloMaven 项目的坐标定义。

<project> <groupId>net.biancheng.www</groupId><artifactId>helloMaven</artifactId><packaging>jar</packaging><version>1.0-SNAPSHOT</version></project>

Maven 坐标主要由以下元素组成:

groupId: 项目组 ID,定义当前 Maven 项目隶属的组织或公司,通常是唯一的。它的取值一般是项目所属公司或组织的网址或 URL 的反写,例如 net.biancheng.www。(在本文案例的本地仓库中,groupId为maven jar包所在的文件夹。
artifactId: 项目 ID,通常是项目的名称。
version:版本


解决方案:

既然找不到commons的依赖就去看commons的坐标在哪里。

尚硅谷提供源码的store-front-user的pom:

我电脑中本地仓库存放commons的位置(groupId):

修改后的store-front-user的pom:

此处是我的commons坐标,如果您也遇到同样问题要去您的commons的pom.xml文件中查看其maven坐标。修改好groupId,artifactId,version,即注释中的“你的store_common模块的gav”

刷新maven,解决。


参考

博客园. Maven坐标,Maven依赖,Maven仓库