Cleaning Tomcat for Redeployment
Introduction
While it is often better to start with a fresh installation of Tomcat, sometimes it is useful to just clean out all traces of Sakai from Tomcat and redeploy.
Procedure for Sakai 11+
Tomcat 8
Shut Tomcat down. From the Tomcat directory:
components
Delete everything
endorsed (Sakai 12+ only)
Delete everything
lib
Delete everything except:
The original jars that came with Tomcat
Either keep a list of these and exclude them from the deletion (see Linux Tip below) or re-copy from a freshly-extracted Tomcat 8
your database drivers (see Linux Tip below)
Note that if you are using the MariaDB driver shipped with Sakai 11, you can safely delete it and it will be restored when you deploy Sakai
For Linux (substituting ecj-<version>.jar, and <your database driver>); tested in tomcat 8.0.32, and tomcat 8.0.33:
cd /opt/tomcat/lib shopt -s extglob rm -rf !(annotations-api.jar|catalina-ant.jar|catalina-ha.jar|catalina-storeconfig.jar|catalina-tribes.jar|catalina.jar|ecj-<version>.jar|el-api.jar|jasper-el.jar|jasper.jar|jsp-api.jar|servlet-api.jar|tomcat-api.jar|tomcat-coyote.jar|tomcat-dbcp.jar|tomcat-i18n-es.jar|tomcat-i18n-fr.jar|tomcat-i18n-ja.jar|tomcat-jdbc.jar|tomcat-jni.jar|tomcat-util-scan.jar|tomcat-util.jar|tomcat-websocket.jar|websocket-api.jar|<your database driver>)
temp
Delete everything
webapps
Keep ROOT (if you have it)
Delete everything else (see Linux Tip below)
work
Delete everything
Procedure for Sakai 10 and under
Tomcat 7/8
Shut Tomcat down. From the Tomcat directory:
common/lib:
Delete everything (Database drivers should be in lib, the other jars will be redeployed by Maven)
components
Delete everything
shared/lib
Delete everything
temp
Delete everything
webapps
Keep ROOT (if you have it)
Delete everything else (see Linux Tip below)
work
Delete everything
Tomcat 5.5
This process could be automated with a script or Maven goal.
Linux Tip
Run the following commands to delete everything in webapps except the specified directories ROOT, balancer, and webdav. A similar command can be used to avoid deletion of database driver jars.
cd /opt/tomcat/webapps
shopt -s extglob
rm -rf !(ROOT|balancer|webdav)