I'm running into a problem that doesn't seem to be addressed by the similar questions.
I have an app that embeds Jetty, using SpringMVC, JSPs and taglibs. I use a maven plugin to generate a jar, bundle all the dependent jars into a directory and create a manifest.
When I run the app using the jar (eg. java -jar app.jar) everything works fine until I try to load a JSP that specifies <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
or any other taglib for that matter.
If I run java and specify the classpath on the command line and name my main class explicitly it all works. I've verified that the Class-Path inside my apps jar MANIFEST.MF is correct.
So far I've come up with 2 work-arounds that I would rather avoid. Have my launch script generate the classpath and put it on the command line. Or, pull the .tld files out of the Jetty jsp-api package and make them available as regular files which allows me to specify them as taglibs.
My understanding is that Jasper is supposed to tear through all Jar's all the classpath looking for tld files? When specifying the jars on the command line as part of the classpath it works, but when the class path is specified in my app's jar it fails.