2013/12/13 Violeta Georgieva <miles...@gmail.com> > Unfortunately with that fix I'm receiving FNF: > > java.io.FileNotFoundException: /META-INF/tags/my.tag > > org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:235) > > org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:579) > > org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:50) > > org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:661) > org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1521) > org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2359) > org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) > org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417) > org.apache.jasper.compiler.Node$Root.accept(Node.java:464) > org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2359) > > org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:679) > org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:231) > org.apache.jasper.compiler.Compiler.compile(Compiler.java:375) > org.apache.jasper.compiler.Compiler.compile(Compiler.java:355) > org.apache.jasper.compiler.Compiler.compile(Compiler.java:342) > > org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:557) > > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) > > > I'll try to create a test case for that. >
The JspCompilationContext used to keep a map of the JarResource corresponding to the tags: public JarResource getTagFileJarResource(String tagFile) { return this.tagFileJarUrls.get(tagFile); } public void setTagFileJarResource(String tagFile, JarResource jarResource) { this.tagFileJarUrls.put(tagFile, jarResource); } This was set in TagLibraryInfoImpl.createTagFileInfo and then used by the TagFileProcessor.loadTagFile. This should be ok without it because the code keeps around the Jar instead and uses the entry name now, but apparently something is still missing and the removed flag gets set (this is what causes this exception). So I guess add a test, it can't hurt. Rémy