Paul,
Yes this is normal IF:
1) You are running on Windows (file read locks are the cause and NTFS doesn’t allow delete operations on locked files)
2) You are deploying a packaged deployment (WAR)
What is happening is Tomcat locks the WAR file for reading, then unzips it, then locks the JAR files in the project for reading while it loads the classes and such… when you try and ‘redeploy’ while TOmcat is running, its not possible to erase the existing WAR/JAR files because sometimes they are locked.
Tomcat 5.5 has tried to correct this by avoiding read locks all together, but I don’t know that our Tomcat 5 connector supports 5.5 yet.
What you CAN do to totally fix this situation is use an exploded deployment, then AS you are making changes, they are immediately copied out to Tomcat, make sure to have TOmcat’s ‘reload’ feature for your webapp turned on, then all your changes will be reloaded on the fly, very handy.