最近在生产环境遇到了这么一个问题:当有用户访问优惠券列表页时失败,报了下面的错
java.lang.NoClassDefFoundError: com/myapp/common/util/WrappedBeanCopier
而实际的maven依赖情况如下所示:
myapp
- coupon
- common 2.0
- common 1.0
WrappedBeanCopier位于common 2.0中, 但工程实际使用的是common 1.0, 于是就发生了这样的事故。
但我奇怪的是 为什么还能正常编译和成功部署呢?有什么办法可以尽早暴露NoClassDefFoundError问题吗? 如编译阶段就失败。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
在部署前打下maven 依赖树:
手动检查下有没有包冲突。问题的源头在于pom.xml的管理,你可以使用parent或者bom的方式统一的进行版本管理。