Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

pack200 - инструмент Упаковки JAR

РЕЗЮМЕ

pack200 [ options ] output-file JAR-file

Опции могут быть в любом порядке. Последняя опция на командной строке или в файле свойств заменяет все ранее указанные опции.

options
Параметры командной строки.
output-file
Имя выходного файла.
JAR-file
Имя входного файла.

ОПИСАНИЕ

pack200 инструмент является приложением Java, которое преобразовывает файл JAR в сжатое pack200 файл используя Java gzip компрессор. pack200 файлы являются очень сжатыми файлами, которые могут быть непосредственно развернуты, сохраняя пропускную способность и уменьшая время загрузки.

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

Типичное использование:

% pack200 myarchive.pack.gz myarchive.jar

В этом примере, myarchive.pack.gz производится, используя значение по умолчанию pack200 настройки.

ОПЦИИ

-r --repack

Производит файл JAR, упаковывая файл myarchive.jar и распаковка этого. Получающийся файл может использоваться в качестве ввода к jarsigner(1) инструмент.

% pack200 --repack myarchive-packer.jar myarchive.jar

% pack200 --repack myarchive.jar

-g --no-gzip

Производит a pack200 файл. С этой опцией должен использоваться подходящий компрессор, и целевая система должна использовать соответствующий decompresser.

% pack200 --no-gzip myarchive.pack myarchive.jar

-G --strip-debug

Атрибуты полос используются для того, чтобы отладить от вывода. Они включают SourceFile, LineNumberTable, LocalVariableTable и LocalVariableTypeTable. Удаление этих атрибутов уменьшает размер и загрузок и установок, но уменьшает полноценность отладчиков.

--keep-file-order

Сохраните порядок файлов во входном файле; это - поведение по умолчанию.

-O --no-keep-file-order

Упаковщик переупорядочит и передаст все элементы. Дополнительно, упаковщик может удалить имена каталогов JAR. Это уменьшит размер загрузки; однако, определенная оптимизация файла JAR, такая как индексация, возможно, не работает правильно.

-Svalue --segment-limit=value

Значение является предполагаемым целевым размером N (в байтах) каждого сегмента архива. Если единственный входной файл требует
больше чем байты N, этому дадут его собственный сегмент архива. Как особый случай, значение -1 произведет единственный большой сегмент со всеми входными файлами, в то время как значение 0 произведет один сегмент для каждого класса. Больший результат сегментов архива на меньшем количестве фрагментации и лучшее сжатие, но обработка их требуют большего количества памяти.

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

Значение по умолчанию-1, что означает, что упаковщик будет всегда создавать единственный выходной файл сегмента. В случаях, где файлы чрезвычайно крупносерийного производства сгенерированы, пользователи строго поощряются использовать сегментацию или разбить входной файл в меньшие JAR.

JAR 10 МБ, упакованный без этого предела, будет обычно упаковывать приблизительно на 10 % меньший, но упаковщик может потребовать большей "кучи" Java (приблизительно десять раз предел сегмента).

-Evalue --effort=value

Если значение будет установлено в единственную десятичную цифру, то упаковщик будет использовать обозначенное усилие в сжатии архива. Уровень 1 может произвести несколько больший размер и более быструю скорость сжатия, в то время как уровень 9 возьмет намного дольше, но может произвести лучшее сжатие. Специальное значение 0 дает упаковщику команду копировать через исходный файл JAR непосредственно без сжатия. JSR 200 стандартов требует, чтобы любой неупаковщик понял этот особый случай как передачу всего архива.

Значение по умолчанию 5, вложение скромного количества времени, чтобы произвести разумное сжатие.

-Hvalue --deflate-hint=value

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

true
false
В любом случае упаковщик установит подсказку дефляции соответственно в выходном архиве, и не будет передавать отдельные подсказки дефляции элементов архива.
keep
Сохраните подсказки дефляции, наблюдаемые во входном JAR. (Это - значение по умолчанию.)

-mvalue --modification-time=value

Возможные значения:

latest
Упаковщик попытается определить последнее время изменения среди всех доступных записей в исходном архиве, или последнее время изменения всех доступных записей в том сегменте. Это единственное значение будет передано как часть сегмента и применено ко все записи в каждом сегменте. Это может незначительно уменьшить переданный размер архива за счет установки всех установленных файлов к единственной дате.
keep
Сохраняет время изменения, наблюдаемое во входном JAR. (Это - значение по умолчанию.)

-Pfile --pass-file=file

Указывает, что через файл нужно пройти bytewise без сжатия. Повторяя опцию, многократные файлы могут быть определены. Нет никакого преобразования пути, за исключением того, что разделитель системного файла заменяется разделителем файлов JAR"/". Получающиеся имена файлов должны соответствовать точно как строки с их возникновениями в файле JAR. Если файл будет именем каталога, то все файлы в соответствии с тем каталогом передадут.

-Uaction --unknown-attribute=action

Переопределяет поведение по умолчанию; то есть, через classfile, содержащий неизвестный атрибут, пройдут с указанным действием. Возможные значения для действий:

error
pack200 работа в целом перестанет работать с подходящим объяснением.
strip
Атрибут будет отброшен. Отметьте: Удаление необходимых атрибутов VM может вызвать отказы Загрузчика Класса.
pass
После обнаружения с этим атрибутом будет передан весь класс, как если бы это - ресурс.

-Cattribute-name=layout --class-attribute=attribute-name=action
-Fattribute-name=layout --field-attribute=attribute-name=action
-Mattribute-name=layout --method-attribute=attribute-name=action
-Dattribute-name=layout --code-attribute=attribute-name=action

С вышеупомянутыми четырьмя опциями расположение атрибута может быть определено для классовой сущности, такой как атрибут Класса, Полевой атрибут, атрибут Метода, и атрибут Кода. Название атрибута является именем атрибута, для которого определяются расположение или действие. Возможные значения для действия:

some-layout-string
Язык расположения определяется в JSR 200 спецификаций.

Пример: --class-attribute=SourceFile=RUH

error
После обнаружения с этим атрибутом pack200 работа перестанет работать с подходящим объяснением.
strip
После обнаружения с этим атрибутом атрибут будет удален из вывода. Отметьте: удаление атрибуты VM-required может вызвать отказы Загрузчика Класса.

Пример: --class-attribute=CompilationID=pass заставит файл класса, содержащий этот атрибут пройтись без дальнейшего действия упаковщиком.

-f pack.properties --config-file=pack.properties

Конфигурационный файл, содержа свойства Java, чтобы инициализировать упаковщика, может быть определен на командной строке.

% pack200 -f pack.properties myarchive.pack.gz myarchive.jar
% more pack.properties
# Generic properties for the packer.
modification.time=latest
deflate.hint=false
keep.file.order=false
# This option will cause the files bearing new attributes to
# be reported as an error rather than passed uncompressed.
unknown.attribute=error
# Change the segment limit to be unlimited.
segment.limit=-1

-v --verbose

Выводы минимальные сообщения. Многократная спецификация этой опции выведет больше многословных сообщений.

-q --quiet

Определяет тихую работу без сообщений.

-lfilename --log-file=filename

Определяет файл журнала к выходным сигналам.

-? -h --help

Справочная информация печатных изданий об этой команде.

-V --version

Информация о версии печатных изданий об этой команде.

-Joption

Передачи option к средству запуска Java, вызванному pack200. Например, -J-Xms48m устанавливает память запуска в 48 мегабайтов. Хотя это не начинается -X, это не стандартная опция pack200. Это - общее соглашение для -J передать опции к базовому VM выполняющиеся приложения, записанные в Java.

СТАТУС ВЫХОДА

Следующие значения выхода возвращаются:

 0 для успешного завершения;

>0 если ошибка происходит.

СМ. ТАКЖЕ

ПРИМЕЧАНИЯ

Эта команда не должна быть перепутана с pack(1). Они - отчетливо отдельные продукты.

Java Спецификация API SE, предоставленная JDK, является полномочиями замены, в случае несоответствий.


Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами