Exception in thread "main" java.lang.NoClassDefFoundError: XXX

本文分享了在Mac环境下使用Maven时遇到的包路径错误问题及解决过程。作者发现由于mac环境下路径配置中冒号的特殊作用,导致包含D:盘符的Windows路径被错误解析,通过修改setting.xml文件中的本地仓库路径,成功解决了该问题。

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

Exception in thread "main" java.lang.NoClassDefFoundError: XXX编译时没有报错,一运行就不听话
clipboard.png
网上找了一大堆,各种解决方案都不是适合我,但是一片文章列举出了可能产生的原因
https://blog.youkuaiyun.com/q542441...
clipboard.png

看了包肯定是有的,环境变量配置看了好几遍也没错,代码写的也没啥问题,
clipboard.png

最后在控制台点开(原来这里还能点开,身为小菜的我大开眼界)
clipboard.png
搜了一下这几个包的路径,发现引用包的路径是这个样子的:xx/D:/xx, 这个D:明显是windows下的,而我用的是mac(似乎发现问题的我抑制住内心的澎湃),用mac配置环境变量的小伙伴都是知道:mac里冒号是环境变量里路径的分割,当包本身的路径中有:时候,运行的时候,去环境变量里找,遇到D:就分割了,仓库路径就错了。所以我赶快上网搜了一下idea怎么看maven的setting.xml文件...(file->other setting->default setting->build,xxx->maven)
clipboard.png
clipboard.png
我先改了上图的Local repository, 重新pom了我要的包,然而并没有什么用,发现还是xx/D:/xx这样的路径,那就看看这个setting.xml文件暗藏啥玄机吧,赶紧在文件中搜了D:
clipboard.png
哈哈原来在localRepository这里配置的本地仓库路径有个D:(这是同事拷给我的,我啥也不懂直接就用了),删掉D:,把之前没用xx/D:/xx的也删掉,重新引用下,运行起来就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值