If the jar file has any extra bytes at the end, explorers like 7-Zip can open it, but it will be treated as corrupt. I use an online upload system that automatically adds a single extra LF character ('\n', 0x0a) to the end of every jar file. With such files, there are a variety solutions to run the file:
head -c -1 myjar.jar
), and then execute the jar by double-clicking or with java -jar myfile.jar
as normal. All of these solutions require that the structure of the .zip and the META-INF file is essentially correct. They have only been tested with a single extra byte at the end of the zip "corrupting" it.
I got myself in a real mess by applying head -c -1 *.jar > tmp.jar
twice. head
inserted the ASCII text ==> myjar.jar <==
at the start of the file, completely corrupting it.