maven打包带时间戳_Maven快照版本要这样用才真的香!

本文讲述了在使用Maven时遇到的一个找不到class的bug,原因是Maven快照版本打包时自动添加了时间戳。通过检查classpath和jar包内容,发现实际引用的jar与lib目录中的不一致。解决方案包括修改maven-jar-plugin和maven-assembly-plugin的配置,以避免打包时记录时间戳并固定jar包名称。
摘要由CSDN通过智能技术生成

Bug的身世之谜

今天又分享一个问题解决的故事。请看下图框起来的错误,明显就是找不到这个class嘛!

498efe419eeb562b639865b4e7a249a9.png

下面我们按照正常人的思路去排查这个问题,既然找不到class那就先看这个依赖的jar包有没有,如果没有那就是铁证如山。

但是事与愿违啊,编译后的lib目录下真的有这个包o****rder-api-2.0-SNAPSHOT.jar

还是不相信,于是将order-api-2.0-SNAPSHOT.jar解压了,看看里面到底有没有我们需要的class,真的有,此处心情沉重。

一般人到这里就会懵圈了,但我还年轻啊,脑袋还够用。接下来看看classpath的配置有没有问题,如果order-api-2.0-SNAPSHOT.jar不在classpath中,那么自然就是找不到class啊,机智的我。

于是查看了META-INF/MANIFEST.MF文件,发现里面依赖的是order-api-2.0-20200225.024541-15.jar,什么情况,还加上时间戳了。

终于真相大白了,classpath中指向的是order-api-2.0-20200225.024541-15.jar,但lib中只有order-api-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值