I agree with Stefan and Michael.
Its a /tmp directory cleanup issue. (quite a common problem seen when using long running, platform neutral, services on linux)
Like Michael said, set the java.io.tmpdir system property that Java uses to a directory somewhere other than /tmp. (the system admins should have a few preferences for you, depending on your linux distribution. (some commonly seen example: /var/cache/jetty or /var/www/jetty or /home/jetty/work)
This will influence the behavior of Jetty itself, and velocity.
Jetty will then use the new temp directory for its own unpacked webapp structure (a process that which is required in most deployment use cases).
And when velocity itself needs a temp directory for its own reasons (which it does) those files will also remain untouched.
Also if you have any other 3rd party libraries that use the Java temp file routines those will also reside in an location untouched by other processes.
Additional suggestions:
- Upgrade Jetty - 9.1.x is part of the transitional period for Jetty 9 from Servlet 3.0 to Servlet 3.1. Its a bit of a hybrid release.
- Once you have upgraded, use the ${jetty.base} and ${jetty.home} separation.
- After creation of your ${jetty.base}, make sure you have a ${jetty.base}/work/ directory created as well.