Created attachment 30931 [details] proposed patch When configuring server.loader in catalina.properties with libraries containing valves or realms and their dependencies, if those classes are set in server.xml a CNFE is thrown. The reason is Digester using StandardServer's ClassLoader and not context ClassLoader.
Did you mean "context" instead of "server" in one of those cases in the description?
(In reply to Christopher Schultz from comment #1) > Did you mean "context" instead of "server" in one of those cases in the > description? Before instantiating and configuring the server, the "server" loader is set as the "context" loader: Thread.currentThread().setContextClassLoader(catalinaLoader) in Bootstrap class. During startup "server" and "context" loader are the same. The Digester created to configure the server is instructed to use the loader of StandardServer class, but that loader is the "common" loader not the "server" loader.
Thanks for the patch. The report makes sense and the patch looks good to me. It has been applied to 8.0.x for 8.0.0-RC6 onwards and 7.0.x for 7.0.48 onwards. Thanks again.