I know this is 3 years later at this point, but I just want to say thanks to @benb123 for the insights in his post, as the changes to how Tomcat loads TLDs in Tomcat 8+ does appear to be the cause of this issue.
Basically, in Tomcat 8+, Taglibs are scanned at startup at a time that pre-dates the OpenMRS startup process that unpacks module TLDs into WEB-INF/view/<module_id>/<path-to-tld>.tld
, and no further TLD scanning is done (which is different from the behavior in Tomcat 7, which scanned for TLDs at the time a JSP page is compiled as well).
We are working on a fix for this, which is being tracked in [LUI-169] - OpenMRS Issues .
There is another related post here, that I’m referencing just to cross-reference these topics.