Comment 5 for bug 1508562

Revision history for this message
Mauro (mauromol) wrote :

IMHO trying to use Tomcat 7 Jasper/EL implementations with Jetty 6 is not worth the effort, if it will ever work.

I mean, Jetty 6 implements Servlet 2.5/JSP 2.1/EL 2.1, which are the same specification versions implemented by Tomcat 6.
Tomcat 7, instead, implements Servlet 3.0/JSP 2.2/EL 2.2 specification versions, although it supports older versions, of course.
If the Tomcat 7 EL implementation requires an upgrade of the EL and Servlet API jars to properly work (as I experienced when I tried to just fix the symlinks), I'm really sceptical that this can be done without causing problems like multiple conflicting versions of the same JARs in classpath or other side effects on Jetty 6 standard operations. Maybe the new APIs and corresponding Tomcat implementations are perfectly backward-compatible, but setting this up properly could be not so easy (you're actually changing the core API JARs of the servlet container).

Going back to the original problem of the conflicting dependencies, I was wondering if it really is a "problem". I mean, just like you say that Tomcat 7 in Ubuntu can't be installed together with Tomcat 6, why not say that even Jetty 6 can't be installed together with Tomcat 7? We're talking about a servlet container which is EOL since Nov 2010 (see: https://wiki.eclipse.org/Jetty/Starting/Jetty_Version_Comparison_Table), so you may either:
1) remove it from recent Ubuntu/Debian official repositories
2) or just keep the old dependency and force the user to alternatively have just Jetty 6 or any other library that depends on a newer Tomcat version

After all, I think that if one needs to use Jetty 6 on a recent Ubuntu (like me), it's because he needs to set up a dedicated system to run a very old application that is not worth to update to run on a newer version of Jetty (or any other recent version of another servlet container, like Tomcat). In such a scenario, having the ability to run much newer packaged software on the same system is most probably useless.

The third solution might be to change the dependency against libtomcat6-java to optional: after all, Jetty can run even without JSP and EL support. The user then may choose to either a) leave these features disabled, or b) to install libtomcat6-java to enable them or c) to manually provide the required Jasper/EL JARs by himself for the same purpose, if he needs to keep the conflicting libtomcat7-java package installed instead.