So I was working with JSTL in OSGi, under Gemini runtime. And I\'m getting following exception, when I try to access the url to my servlet
: -
SE
com.springsource.javax.servlet.jsp.jstl_1.2.0.v20110728
com.springsource.org.apache.taglibs.standard_1.1.2.v20110517
You're mixing JSTL 1.2.0 API+impl with JSTL 1.1.2 impl.
The both impls are conflicting with each other which explains all the trouble you're seeing.
Get rid of the 1.1.2 impl.
First of all, I don't think I can really answer this question, no idea if this is relevant to you.
I've struggled with this problem too, until I switched to Pax Web. It worked pretty much out of the box. I intended to go back and figure out exactly why my previous setup did not work, but, well, it never happened.
So, if it is possible in your situation, use Pax Web over hand picking your own bundles.
I upgraded from Tomcat 8
to Tomcat 9
, which has 125: jstl.jar,taglibs-standard-spec-*.jar,
in its catalina.properties
. Does this mean that jstl is preinstalled, unlike tomcat 8 where jstl 1.2
was needed in the build.gradle
?
Since I had to remove the following lines to get it working
//compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'
//compile group: 'javax.servlet.jsp.jstl', name: 'jstl', version: '1.2'
If my answer is incorrect, please let me know I am happy to delete it. Since @BalusC answer gave me the clue.
This is just a shot in the dark. Not sure if you came upon below links.
The error message you posted "Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV" seems to be pretty common.
From this link : http://christerblog.wordpress.com/2010/05/04/tag-library-woes-deploying-war-on-tomcat-6/
Do you have any conflicting/incompatible jar libraries in your WAR file ?
Another one here also points to incompatible jars in the build path: Unable to read TLD "META-INF/c.tld"