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

Дополнительные Пакеты - Краткий обзор

Содержание

Какой дополнительный пакет

Отметьте: Дополнительные пакеты были прежде известны как стандартные расширения или только расширения.

Дополнительные пакеты являются пакетами классов Java и связанного собственного кода, который разработчики приложений могут использовать, чтобы расширить функциональность базовой платформы. Механизм расширения позволяет виртуальной машине Java (VM) использовать классы дополнительного пакета почти таким же способом как классы начальной загрузки использования VM. (Классы начальной загрузки - те, которые реализуют базовую платформу, содержавшуюся в jre/lib/rt.jar и нескольких других важных файлах фляги. Они включают классы общедоступного API, такие как java.lang, java.io, и т.д., и классы, поддерживающие функции интернационализации/локализации платформы.). Как классы начальной загрузки, классы в дополнительных пакетах не должны быть помещены в путь class. Механизм расширения также обеспечивает путь к необходимым дополнительным пакетам, которые будут получены от указанных URL, когда они уже не устанавливаются в Java 2 Среды выполнения или JDK.

Дополнительные пакеты воплощаются в файлах JAR, и каждый файл JAR является потенциальным дополнительным пакетом. Файл JAR может быть сделан играть роль дополнительного пакета двумя способами:

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

Установленные дополнительные пакеты

Установленные дополнительные пакеты являются файлами JAR в следующих каталогах:

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

Двоичные файлы собственного кода установленного дополнительного пакета, если таковые вообще имеются, помещаются в

где <arch> архитектура процессора Соляриса, также sparc или i386. Собственные библиотеки могут также быть размещены в jre/lib/ext/<arch> и для Microsoft Windows и для операционной среды Соляриса, где <arch> будет i386 на системах Microsoft Windows. Каталог jre/lib/ext/<arch> ищется после jre\bin или jre/lib/<arch>.

Когда Java, VM встречается с именем class, он сначала ищет class в среде выполнения. Если это будет не в состоянии найти требуемый class среди классов, которые являются частью стандартной среды выполнения, то VM будет искать class в любых файлах JAR в дополнительном каталоге пакетов.

Отметьте, что нет ничего специального ни о каком определенном файле JAR непосредственно или классах, которые это содержит, который делает это установленным дополнительным пакетом. Это - установленный дополнительный пакет на основании своего расположения в jre/lib/ext.

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

Manifest-version: 1.0
Extension-Name: javax.extension
Specification-Version: 1.0
Specification Vendor: Sun Microsystems, Inc.
Implementation-Vendor: Sun Microsystems, Inc.
Implementation-Vendor-Id: com.sun
Sealed: true

Эта версия и информация о поставщике могут использоваться Плагином Java, выполняя апплет, чтобы видеть, устанавливаются ли дополнительные пакеты, необходимые апплету, современны, и от поставщика, которого требует апплет. В противном случае Плагин Java может запросить пользователя апплета загружать надлежащий дополнительный пакет. См. Дополнительное Управление версиями Пакета для получения дополнительной информации.

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

Загрузите дополнительные пакеты

Дополнительный пакет загрузки является JAR файлы, который определяется в поле заголовка Class-Path в декларации другого JAR файлы. Классы в загрузке дополнительные пакеты могут использоваться классами в файле JAR ссылки. В типичной ситуации апплет будет связан в файле JAR, чьи явные ссылки файл JAR (или несколько файлов JAR), который будет служить дополнительным пакетом в целях того апплета. Дополнительные пакеты могут сослаться на друг друга таким же образом.

Заголовок Class-Path мог бы быть похожим на это, например:

Class-Path: servlet.jar infobus.jar acme/beans.jar

Это определяет что классы в файлах servlet.jar, infobus.jar, и acme/beans.jar будет служить дополнительным pakcages в целях классов в файле JAR, декларация которого содержит этот заголовок. URL в поле Class-Path даются относительно URL файла JAR апплета или приложения.

В отличие от случая установленных дополнительных пакетов, расположение файлов JAR, которые служат загрузкой дополнительные пакеты, является irrelevent. Дополнительный пакет загрузки является дополнительным пакетом, потому что он определяется как значение заголовка Class-Path в другой декларации файла JAR, не потому что у него есть любое определенное расположение.

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

Ища class, VM сначала ищет среди классов в системных классах и в любых установленных дополнительных пакетах. Если class не будет найден или в системных классах или в установленных дополнительных пакетах, то VM будет искать class в любой загрузке дополнительные пакеты, на которые ссылается декларация приложения или апплета. Дополнительный пакет загрузки не будет загружен, если требуемый class будет найден среди установленных дополнительных пакетов, даже если на загрузку дополнительный пакет ссылается файл манифеста апплета или приложения.

Механизм расширения не будет устанавливать загрузку дополнительный пакет в структуре каталогов JDK или JRE. Дополнительные пакеты загрузки не становятся установленными расширениями после того, как они были когда-то загружены.

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


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