I have recently need to Load an SCI (ServletContainerInitializer) with Tomcat using Resource mechanism (this mechanism is used by WarExtraClasspath in Cargo).
So I have put a META-INF/services/file declaring the SCI in jar, and put jar in WEB-INF/lib => in Resource mechanism actually in Cargo this generate this in context.xml file
But this doesn't work because Tomcat see this like a jar content put in WEB-INF/classes folder, so SCI will not be loaded because SCI is load only in WEB-INF/lib.
So the jar must be declare as a virtual Jar in WEB-INF/lib
To do that the context.xml file must be like this :
I propose to change the behavior of jar managing in WarExtraClasspath to use this kind of declaration who is a better matching of jar in a web app.
If needed I can add parameter to switch back in WEB-INF/classes mode