Exception in thread "Thread-com.**.store.manager.order.TradeRefundManagerImpl$1-1" Exception in thread "Thread-com.**.store.manager.order.TradeRefundManagerImpl$1-0" java.lang.NoClassDefFoundError: java/util/Base64$Encoder
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2595)
at java.lang.Class.getConstructor0(Class.java:2895)
at java.lang.Class.newInstance(Class.java:354)
at com.thoughtworks.xstream.core.JVM.<clinit>(JVM.java:187)
at com.thoughtworks.xstream.core.util.CompositeClassLoader.<clinit>(CompositeClassLoader.java:56)
at com.thoughtworks.xstream.XStream.<init>(XStream.java:430)
at com.thoughtworks.xstream.XStream.<init>(XStream.java:397)
at com.feilong.xml.xstream.XStreamBuilder.buildDefault(XStreamBuilder.java:154)
at com.feilong.xml.xstream.XStreamBuilder.build(XStreamBuilder.java:75)
at com.feilong.xml.xstream.XStreamUtil.toXML(XStreamUtil.java:549)
at com.feilong.xml.xstream.XStreamUtil.toXML(XStreamUtil.java:437)
at com.feilong.xml.xstream.XStreamUtil.toXML(XStreamUtil.java:345)
at com.feilong.netpay.advanceadapter.WechatPaymentAdvanceAdapter.tradeRefund(WechatPaymentAdvanceAdapter.java:86)
at com.**.store.manager.order.TradeRefundManagerImpl.handleRefund(TradeRefundManagerImpl.java:208)
at com.**.store.manager.order.TradeRefundManagerImpl.access$000(TradeRefundManagerImpl.java:67)
at com.**.store.manager.order.TradeRefundManagerImpl$1$1.run(TradeRefundManagerImpl.java:119)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: java.util.Base64$Encoder
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
... 18 more
java.lang.NoClassDefFoundError: Could not initialize class com.thoughtworks.xstream.core.util.CompositeClassLoader
at com.thoughtworks.xstream.XStream.<init>(XStream.java:430)
at com.thoughtworks.xstream.XStream.<init>(XStream.java:397)
at com.feilong.xml.xstream.XStreamBuilder.buildDefault(XStreamBuilder.java:154)
at com.feilong.xml.xstream.XStreamBuilder.build(XStreamBuilder.java:75)
at com.feilong.xml.xstream.XStreamUtil.toXML(XStreamUtil.java:549)
at com.feilong.xml.xstream.XStreamUtil.toXML(XStreamUtil.java:437)
at com.feilong.xml.xstream.XStreamUtil.toXML(XStreamUtil.java:345)
at com.feilong.netpay.advanceadapter.WechatPaymentAdvanceAdapter.tradeRefund(WechatPaymentAdvanceAdapter.java:86)
at com.**.store.manager.order.TradeRefundManagerImpl.handleRefund(TradeRefundManagerImpl.java:208)
at com.**.store.manager.order.TradeRefundManagerImpl.access$000(TradeRefundManagerImpl.java:67)
at com.**.store.manager.order.TradeRefundManagerImpl$1$1.run(TradeRefundManagerImpl.java:119)
at java.lang.Thread.run(Thread.java:745)
http://x-stream.github.io/changes.html
October 23, 2018. 因为 安全漏洞 CVE-2013-7285 升级了 依赖到 1.4.11
但是这个版本的 xstream 在 jdk8 以下执行有问题, 而当时 mapemall 本身是 jdk8 没有发现这个问题
而到了 A 项目, 使用了 jdk 1.7 出现了异常
具体情况 参考 这个 https://github.com/x-stream/xstream/issues/133
然后 xstream 紧急打了新的 hotfix 版本