项目背景
2个maven项目,一个项目a,一个项目b,项目a依赖项目b
项目a和项目b同时在idea里面打开
问题描述
在idea里,项目a启动的时候,报类xxxx,classnotfoundexception,但是这个xxx类在项目b里面肯定是有的。
于是单独对项目a执行mvn package项目,对生成的jar包使用java -jar执行。成功启动,完全没问题。可以肯定项目xxx类是存在的。
原因分析:
对项目a执行打包命令的时候,把项目b一起打到jar包里面,所以不存在找不到的问题
那为什么在idea启动会提示找不到类xxxx呢,试了很多方法,包括clean,删包重新下载,重启idea,重启电脑,都没用,
最后还是回到原点找答案,把控制台里的启动日志拷出来,看看b项目是从哪加载,从日志里面一看,瞬间明白,b项目不是从本地仓库加载的,而是从本地workspace里面加载,然后从workspace项目b下的target下找,发现果然没有xxx类。
解决方案:
把项目b重新编译,启动就ok了。