Spec-Zone .ru
спецификации, руководства, описания, API
След: Развертывание
Урок: Упаковка Программ в Файлах JAR
Раздел: Работа с Файлами манифеста: Основы
Изоляция Пакетов в пределах Файла JAR
Домашняя страница > Развертывание > Упаковка Программ в Файлах JAR

Изоляция Пакетов в пределах Файла JAR

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

Вы изолируете пакет в файле JAR, добавляя заголовок Sealed в декларации, у которой есть общая форма:

Name: myCompany/myPackage/
Sealed: true

Значение myCompany/myPackage/ является именем пакета, чтобы изолировать.

Отметьте, что имя пакета должно закончиться "/".

Пример

Мы хотим изолировать два пакета firstPackage и secondPackage в файле JAR MyJar.jar.

Мы сначала создаем текстовый файл под названием Manifest.txt со следующим содержанием:

Name: myCompany/firstPackage/
Sealed: true

Name: myCompany/secondPackage/
Sealed: true

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

Мы тогда создаем файл JAR под названием MyJar.jar, вводя следующую команду:

jar cmf MyJar.jar Manifest.txt MyPackage/*.class

Это создает файл JAR с декларацией со следующим содержанием:

Manifest-Version: 1.0
Created-By: 1.6.0 (Sun Microsystems Inc.)
Name: myCompany/firstPackage/
Sealed: true
Name: myCompany/secondPackage/
Sealed: true

Изоляция Файлов JAR

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

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

Sealed: true

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


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Установка Информации о версии Пакета
Следующая страница: Подписание и Проверка Файлов JAR