I've been trying to find a solution to this for some time, but couldn't find a clean one. Maybe somewhere here has any ideas for a solution...
Consider a JSP taglib which is composed of hundreds of .tag files. The library is referenced in JSP using the "tagdir" option of the taglib directive, which simply points to /WEB-INF/tags/ (where the .tag files are located).
Our standard server software distribution includes that tag library, as well as JSP pages that make up the server's web user interface. Those JSP pages use the taglib extensively.
Now, we want to be able to distribute upgrades to the JSP pages and the tablib, but allow customers to easily customize *some* tag files without worring about loosing their changes if they apply a future upgrade.
If it were possible for JSP pages to declare two overlapping taglib directives (same prefix) pointing to two different tagdirs, it would allow us to place our hundreds of .tag files in one "standard" directory, and allow customers to place customized .tag files in another "customized" directory. That way JSP files would always use the same prefix for our tags, but the actual .tag file inserted would be coming either from the customers's "customized" tagdir or from our "standard" tagdir (depending if they chose to override a tag with a customized version or not).
Is this possible? How do people deal with taglib customization and maintenance issues?