项目依赖没有任何问题,B模块调用A模块的一个方法,idea运行一切正常,打包的时候,A打包成功,B打包失败、报错程序包不存在,其中已经正常import,也可以点击进入对应的类:
原因就出在打包的顺序, 打包的时候会生成两种包,一个包含了本包的所有类,另一个是可执行的包,,,程序会先生成原始包,然后生成执行包,覆盖掉原始包,而原始包是根据其他包读取的,所以会出现找不到包;
这种情况出现在,跨模块调用另一个模块的方法时; 另一个模块恰巧也是一个可执行包,就会出现这个问题;因为两个模块都是启动类,所以会生成两个执行包,就出现这个问题了
解决办法就是在被调用【说白了就是提示你找不到的那个模块】的模块的pom的plugin打包插件下加上这个标签: <classifier>exec</classifier>
打包成功: