.jar files are going to have multiple ensured types.
I have a routine where I send a file thru ICAP and get back all the data from the response and the embedded cycles, including ensured media types. When I send a jar file, i receive:
X-Media-Type: application/java-archive, application/zip
X-File-Name and X-Media-Type are the jar file itself and the other entries are the filename|size|ensured type inside the jar.
So you are probably matcihing on at least one in list for application/zip because the ensured type includes that.
And you will probably need some exclusion for EnsureTypes contains application/jar to skip over the jar+zip combination.