Actually, I was thinking if it maybe is time to drop Tomcat 5.x support and make Tomcat 7 the default (that is: if/when it properly works with Jetspeed, see below).
The Tomcat 6 and Tomcat 7 deployment configurations actually are the same, so doing the above would simply "collapse" our maven deploy plugin configuration and behavior into a singular one.
I've already played with this a bit trying to get it to work, and it actually turned out to be pretty trivial changes.
One specific, and major, configuration change however is required for upgrading to Tomcat 7: the server.xml connector emptySessionPath="true" attribute no longer is supported!
I discovered this while working on a similar upgrade for Pluto, see
But also for this, the "fix" is pretty trivial: now a new attribute sessionCookiePath="/" needs to be configured instead on the root Context in $CATALINA_HOME/conf/context.xml
The nice part of this change is: its backwards compatible with Tomcat 6.0.27+ (latest Tomcat 6 already is 6.0.33, so no big deal).
Yet another reason IMO to now drop Tomcat 5.x support and support latest Tomcat 6 and 7 versions (and higher) only.
Anyway, once I did these changes, building and deploying to Tomcat 7.0.21 worked without a problem, including through a jetspeed-installer build.
We have a new and more serious technical problem: (only) when trying to login on Jetspeed, the PortalSessionsManagerImpl now throws a NPE for every portlet render:
This I haven't had time to look into yet, but it seems like Tomcat 7 is "twisting" the session/cookie handling after login in some way.
I'll try to figure out what goes wrong ASAP (this week).