当您将DevTools与缓存一起使用时,需要注意这一限制。
当对象序列化到缓存中时,应用程序类加载器为C1。然后,在更改了某些代码/配置之后,devtools会自动重新启动上下文并创建一个新的类加载器(C2)。当您使用该缓存方法时,缓存抽象将在缓存中找到一个条目,然后从存储中反序列化该条目。如果缓存库未考虑上下文类加载器,则该对象将附加有错误的类加载器(这说明了奇怪的异常
Acannot be cast to A)。
TL;DR如果缓存库不使用上下文类加载器,则不要使用devtools序列化类。或将您的缓存库放入应用程序类加载器中:
restart.include.yourcache=/my-cache-lib-[\w-]+.jar



