Intereting Posts
альтернатива менеджера загрузки с функцией IDM Как приостановить анимацию GIF в определенном кадре Как заставить отладчик bash работать с ddd? диск с полным – удаление файлов не работает Какие правила использовать для UFW? Естественная прокрутка не работает в 12.04 в некоторых окнах. Где я должен сообщить об ошибке? Нет выхода звука с разъема для наушников Ubuntu12.04 возможно ли повредить файлы tar во время жесткого отключения питания? Где я могу получить стабильный драйвер Nvidia для GeForce 635m? Каков правильный драйвер для использования с GeForce 6150SE nForce 430 для Ubuntu и Ubuntu? Mozzplugger не работает в Lubuntu 11.10 Dell Studio 15, Turnoff после приостановки из-за перегрева, а также не выключает вентилятор update-alternatives: error: / var / lib / dpkg / alternatives / vim corrupt: недействительный статус Почему я не могу просматривать доли Windows, хотя я могу подключиться к ним? Возобновление работы на Dell E6510

Файлы Jar: почему извлечение, а затем сжатие файла jar, создает файл с другим размером оригинала?

Я пытался отредактировать один байт в извлеченном файле jar-файла плагина Eclipse. Я заметил, что после того, как я скомпилировал файлы как банку, результирующий файл был больше исходного (только 1%) и что плагин не работал. Eclipse загрузился, но отключился после выбора рабочего пространства. Возrotation к исходному плагину позволило ему успешно начать.

Затем я попытался раскрутить, а затем сжимал плагин (ничего не меняя), а результирующий файл jar был еще больше, чем оригинал, а также не работал.

$ jar -xf temp/in.jar 

затем

 $ jar -cf out.jar temp/* $ du in.jar out.jar 4216 in.jar 4236 out.jar 

Я предполагаю, что это может быть связано с изменением временных меток, но я не думал, что это прекратит принятие затмения.

Итак, мой вопрос: есть ли способ распаковать банку, изменить байт и сжать ее, не изменяя размер банки?

Я использую Ubuntu 10.04 – 64 бит:

 Linux user 2.6.32-38-generic #83-Ubuntu SMP Wed Jan 4 11:12:07 UTC 2012 x86_64 GNU/Linux 

При взгляде на стол банщика, похоже, другой порядок:

 $ jar tf in.jar | head -n 5 META-INF/ META-INF/MANIFEST.MF com/ com/android/ com/android/ide/ $ jar tf out.jar | head -n 5 META-INF/ META-INF/MANIFEST.MF about.html about.ini about.properties 

Есть ли способ упорядочить их по-разному в банке?

Получение другого размера после рекомпрессии является нормальным, если один файл был изменен. Но если ничего не было изменено, возможно, у вас нет одного корневого каталога в обоих архивах.

Выполните следующие две команды и опубликуйте результат здесь (только первые строки):

 jar tf in.jar jar tf out.jar 

Эти команды перечисляют все файлы в файлах Jar с их путем.

Вы пытались обновить только измененный файл, используя следующую команду:

 jar uf in.jar TheFileYouModified 

TheFileYouModified должен быть тем же путем, что и в JAR-файле. Например, чтобы заменить com / android / Example.class, вы извлекли в / tmp / injar / и были изменены:

 jar uf in.jar -C /tmp/injar com/android/Example.class