classnotfound问题

在IDEA中,一个依赖于另一个项目的Maven工程在启动时出现ClassNotFoundException。问题在于IDEA从本地workspace加载项目B的target目录,而该目录缺少所需类。通过重新编译项目B,解决了类找不到的问题。分析表明,正确打包和加载项目依赖是解决问题的关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目背景

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了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值