Here's how filelists work:
Therefore! Here is how you keep GPT (and by proxy, me) happy:
When you add or remove files from your package's install image, *you* need to add or remove them from your filelist too. This includes stuff like .jar files, scripts that are created by etc/post-deploy.xml targets, client-config.wsdd files, what have you.
Buildbot has started keeping track of this stuff for your benefit. Go look at http://buildbot.globus.org/. It rebuilds HEAD everytime you check something in. If, after you check something in, a "bundle" step fails, go click on it. It will complain that some file was not found. If the file that wasn't found was something you removed, you also have to go remove it from your filelist. Otherwise GPT will be trying to add it to your binaries, but won't be able to.
Otherwise, just check the "filelist diff" stdio link every once in a while. If you see something with a minus sign in front of it that is part of your package (like "-/lib/common/super-important.jar"), that means that file was present in the source directory, but missing from your binaries. That means you need to go add it to your filelist so GPT knows to include it as part of your package.
If you have any questions, please let me know. Oh, and the reason this is so focused on Java is because GPT has hooks that look at Makefile.am files in C packages that usually let it construct filelists automatically. It has nothing to do with the relative merits of the languages.