周青的日常问题记录
项目场景:
学习硅谷电商毕设项目_微服务版本,建站练手。进行到商城前端服务开发的用户服务 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仓库