In migrating from Tomcat 5.0 to Tomcat 5.5, one of my custom Struts plugins started failing on startup with the following exception:
org.apache.commons.digester.Digester startElement SEVERE: Begin event threw exception java.lang.ClassNotFoundException: com.mikwat.struts.config.AuthorizationActionConfig
The root of the problems appears to be that the Digester defaults to using the same ClassLoader that loaded it and whichever ClassLoader this is, it doesn’t have access to my webapp class com.mikwat.struts.config.AuthorizationActionConfig.
After Googling around, I eventually came across this post regarding a similar problem loading the Quartz plugin: Mailing list archives.
The solution is to call setUseContextClassLoader(true) on the Digester object which forces it to use the ClassLoader found by calling Thread.currentThread().getContextClassLoader().
Post a Comment