The Jar task does not consider updates to services (using <service> element) as a trigger for updating a jar file. This is problematic, especially when using NetBeans for building a jar file because you really can only effect jar file content in a post-jar task using NetBeans. The steps to recreate are simple. 1. in one <jar> task, create jar with some class files 2. in another <jar> task, try to update that jar file with a <service> element It will ignore the new <service> element and won't update the jar file.
This looks simple on the surface but soon opens a can of worms that leads to comparing service definitions and merging them - see bug 51096. I agree it would be nice if it worked.