I'm having a bit of trouble with my Windows build agent. I have a module in my project that is set up to get all of my build tools from my local Nexus repository (maven, jdk, installer builders, etc.). Most of my build configurations consist of two steps:
1) Use the built in Maven and Java to execute 'clean install' on my build tools module which unpacks the whole build environment for my project onto the agent.
2) Use the Maven and JDK from the unpacked build environment to run the build.
After the second step, a sub-process of the windows build agent (agent > java.exe > java.exe) has an open file handle on the maven-core-3.0.3.jar file from the Maven install (my custom unpacked one) used to run the build step. I don't have any problems when I run the build on a Linux agent or when I run the build manually from my IDE (in Windows). I want to clean and re-install my build environment on all agents nightly, but the open file handle causes the build to fail on my windows agent because it can't delete that file.
I have TeamCity build 17985 and did a clean re-install of my agent.
It could be Maven or a misbehaving plugin causing my problems, but I'd like to figure out why my Linux agent works while my Windows agent doesn't before I really start to dig into it. Is there a difference in the way Maven is invoked / killed on each platform?
I've tried everything I can think of to find the cause for now. I tried profiling the agent with YourKit. I connected to the same PID that ProcessExplorer reports as holding the open file handle (YourKit lists it as AgentMain), but the YourKit inspections don't find anything and I can't find anything by hand. Any suggestions?