https://bz.apache.org/bugzilla/show_bug.cgi?id=63243
--- Comment #1 from Stefan Bodewig <bode...@apache.org> --- I know its been a long time but I still want to record here what is going on. If you run ant -d it is going to tell you why it updates the jar. zip archives can contain multiple entries with the same name. When checking the existing timestamp inside the archive, Ant only looks at the first entry. In the example both a.jar and c.jar contain META-INF/LICENSE.txt and META-INF/NOTICE.txt and the ones in c.jar are newer than those in a.jar. When out.jar is created it adds both files. If you'd throw in duplicate="preserve" to just include the first occurrence of the file, then the one from a.jar is added and the one of c.jar is skipped. In either case when running the task for a second time Ant will find both LICENSE and NOTICE files of a.jar and c.jar and will compare them to the first files contained in out.jar - which is the one of a.jar. And this one is older than the one of c.jar so it decides the target is outdated. I don't believe we have a proper way to handle duplicate entries here, that will work for all combinations. -- You are receiving this mail because: You are the assignee for the bug.