During init hotswap agent throws illegal state exception, no field repositories found for WebappClassLoader.
Root cause:
TomcatPlugin is trying to set repository property of org.apache.catalina.loader.WebappClassLoader tomcat class with org.hotswap.agent.util.ReflectionHelper#set method.
But in 7.0.77 version, they did refactoring and introduce parent class WebappClassLoaderBase for WebappClassLoader, moved repository property in it.
Current logic of ReflectionHelper#set will work only if field in current class, not in it's parent.
Field field = clazz.getDeclaredField(fieldName);
During init hotswap agent throws illegal state exception, no field repositories found for WebappClassLoader.
Root cause: TomcatPlugin is trying to set repository property of org.apache.catalina.loader.WebappClassLoader tomcat class with org.hotswap.agent.util.ReflectionHelper#set method. But in 7.0.77 version, they did refactoring and introduce parent class WebappClassLoaderBase for WebappClassLoader, moved repository property in it.
Current logic of ReflectionHelper#set will work only if field in current class, not in it's parent. Field field = clazz.getDeclaredField(fieldName);
Also please note, that seems from https://tomcat.apache.org/tomcat-8.0-doc/api/index.html and later, they remove ;repositories; field at all.