博主最近自己做的一个项目中使用了微服务,并且对每个业务模块进行了划分,分离出来了基础模块,核心模块和通用模块,但是呢,可能博主存在项目依赖不对的情况,在其它业务模块中都引入了通用模块,这个时候,打包就出现一个问题,通用模块中的实体无法在其它业务模块中使用,(打包不通过,编译运行没得问题),于是博主也不想区改变依赖关系,到处找资料,捣鼓了好久,才找到一个解决办法。
问题产生的原因是打包的时候,是需要先去加载依赖的,然后咱们自己编写的通用模块是以jar包的形式打的,他代码和依赖一起打的,所有在编译其它项目的时候,会去寻找这个依赖,结果找不到(打包和编译寻找依赖是不一样的),所以需要将源码和依赖分开打包,这样就能找到了
这是博主大概分析的原因,不知道对不对,如果有大佬知道原因,可以留言指正一下
解决方法:在通用项目中bulid中加上即可
<classifier>exec</classifier>
加上之后,就可以正常打包了
他会产生两个JAR文件,我们需要部署的就是带exec的文件,他是源码文件,而第一个文件是依赖文件。
到这里就没得了,最后,如果有技术大佬懂原理的,可以留言指正哦!