If you load Apache Tomcat onto your Ubuntu system, you’ll find that JSTL is missing. Trying the provided JSTL examples will thus result in failure, as will any normal operations that require the standard tag libraries.
This is mainly because of one reason: JSTL is considered to be part of J2EE – which in this case means that JSTL comes with Glassfish (or by translation, Apache Geronimo).
Originally, JSTL was a “built-in” feature of the Glassfish packages in Debian and Ubuntu; however, because of the desirability of having JSTL in Tomcat and other containers, JSTL is now available separately.
The package is glassfish-javaee and contains three JAR files which contain JSTL. The best thing to do is to run this command (whether Debian or Ubuntu):
apt-get install glassfish-javaee
This will install the packages and all dependencies – though if you’ve Tomcat already, there probably won’t be any dependencies required.
I experienced this with Tomcat 6, but Tomcat 5 is probably affected as well.
3 thoughts on “Tomcat Missing Java Standard Tag Libraries (JSTL) in Debian and Ubuntu”