当前位置:首页 > 服务端 > Maven导入本地仓库的jar包报错———解决方法

Maven导入本地仓库的jar包报错———解决方法

 Failed to read artifact descriptor for com.kerry.dubbo.teacher:api:jar:1.0错误解决

下面是前言环境,想看解决方法,可直接下滑至底部

前言:

今天做的一个微服务小案例(Teacher模块与Student模块交互)

通过dubbo + zookeeper 和 SpringBoot技术将两个模块进行拆分后,将模块提供的Service服务注册到Zookeeper做的注册中心上。

包结构如下:

      Maven导入本地仓库的jar包报错———解决方法 _ JavaClub全栈架构师技术笔记       Maven导入本地仓库的jar包报错———解决方法 _ JavaClub全栈架构师技术笔记

 

 

 案例中的各个moudel不做过多解释,这里大概解释一下:

api:负责存放模块提供的Service的上级接口。其他需要使用到

   该模块服务的只需要导入该模块的API即可知道该模块所提

   供的服务功能,随后去注册中心(ZK)上获取对应的服务。

moudel:负责存放该模块的实体类(pojo)和实体类对应的Mapper

server:提供该模块服务(Service)的主要实现,随后注册到注册

      中心(ZK)上,还可以在其中去调用其他模块的服务。

 

在做完Teacher模块之后,我想在Student模块中去使用到Teacher模块,此时在从注册中心获取服务之前,我需要先导入Teacher模块的api.jar。

这个时候我就通过Maven的Lifecycle的install功能对API这个Moudel进行打包。

 

Maven导入本地仓库的jar包报错———解决方法 _ JavaClub全栈架构师技术笔记

 

 由于我两个模块都是用的同一个Maven本地仓库,所以打包之后我只需要去另一个模块直接加载就行了。

随后我来到Student模块中在server的pom.xml对Teacher的api进行加载

Maven导入本地仓库的jar包报错———解决方法 _ JavaClub全栈架构师技术笔记

 

 

此时项目中就报出了错误

 Failed to read artifact descriptor for com.kerry.dubbo.teacher:api:jar:1.0错误

并且我原先在本地仓库导入的Student模块的api.jar也跟着报错

Maven导入本地仓库的jar包报错———解决方法 _ JavaClub全栈架构师技术笔记

 

 在Maven加载包的时候,所有导入的包统统失败Maven导入本地仓库的jar包报错———解决方法 _ JavaClub全栈架构师技术笔记

 

 

此时我们看项目已经导入的Jar中可以发现Teacher模块API包已经导入进了项目并且已经看得到里面的类了

由此我们可以推断出问题并不是出现在找不到JAR包上

Maven导入本地仓库的jar包报错———解决方法 _ JavaClub全栈架构师技术笔记

 

 

最后通过查阅资料发现问题是:

如果说,项目是通过maven来管理构建项目且通过各个module形式存在,那么在deploye的时候需要将父POM文件也部署到私服上,否则会出现如上问题

 

也就是说,我们在进行模块打包的时候需要将整个项目打包,而不是只打包模块中单独的一个Moudel(API模块)

 

作者:_kerry
来源链接:https://www.cnblogs.com/zcl1116/p/15008219.html

版权声明:
1、Java侠(https://www.javaxia.com)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaxia.com/server/125046.html

分享给朋友: