Я наткнулся на следующую проблему: когда я создаю файл .jar
с более чем 65k записей, java жалуется на "Недопустимый или поврежденный jarfile". Пример:
$ # in fresh dir
$ for i in {1..70000}; do touch $i; done
$ jar cf app.jar {1..70000}
$ java -jar app.jar
Error: Invalid or corrupt jarfile app.jar
Но если я использую немного меньше файлов, он работает:
$ jar cf app.jar {1..60000}
$ java -jar app.jar
no main manifest attribute, in app.jar
Я слышал, что в старом формате .zip
было ограничение файлов на 65 тыс. файлов, но Java 7 по умолчанию уже должен использовать ZIP64. Почему это происходит? Есть ли способ исправить это?