Класс URLClassLoader
- Все реализуемые интерфейсы:
-
Closeable,AutoCloseable
public class URLClassLoader extends SecureClassLoader implements Closeable
jar: (см. JarURLConnection) предполагается, что ссылается на JAR-файл. Любой URL со схемой file:, который заканчивается на '/', предполагается, что ссылается на каталог. В противном случае URL предполагается, что ссылается на JAR-файл, который будет открыт по мере необходимости. Этот класс загрузчик поддерживает загрузку классов и ресурсов из содержимого многоверсионного JAR-файла, на который указывает заданный URL.
- С:
- 1.2
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
URLClassLoader |
Создаёт новый именованный URLClassLoader для указанных URL. |
URLClassLoader |
Создаёт новый именованный URLClassLoader для указанных URL, родительского класса загрузчика и URLStreamHandlerFactory. |
URLClassLoader |
Создаёт URLClassLoader для указанных URL, используя родительский класс загрузчик по умолчанию ClassLoader. |
URLClassLoader |
Создаёт новый URLClassLoader для заданных URL. |
URLClassLoader |
Создаёт новый URLClassLoader для указанных URL, родительского класса загрузчика и URLStreamHandlerFactory. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
addURL |
Добавляет указанный URL в список URL для поиска классов и ресурсов. |
void |
close() |
Закрывает этот URLClassLoader, чтобы он больше не мог использоваться для загрузки новых классов или ресурсов, определённых этим загрузчиком. |
protected Package |
definePackage |
Определяет новый пакет по имени в этом URLClassLoader. |
protected Class |
findClass |
Находит и загружает класс с указанным именем из пути поиска URL. |
URL |
findResource |
Находит ресурс с указанным именем в пути поиска URL. |
Enumeration |
findResources |
Возвращает перечисление URL, представляющее все ресурсы в пути поиска URL с указанным именем. |
protected PermissionCollection |
getPermissions |
Возвращает пустой набор разрешений (Permission collection). |
InputStream |
getResourceAsStream |
Возвращает поток ввода для чтения указанного ресурса. |
URL[] |
getURLs() |
Возвращает путь поиска URL для загрузки классов и ресурсов. |
static URLClassLoader |
newInstance |
Создаёт новый экземпляр URLClassLoader для указанных URL и родительского класса загрузчика по умолчанию. |
static URLClassLoader |
newInstance |
Создаёт новый экземпляр URLClassLoader для указанных URL и родительского класса загрузчика. |
Методы, объявленные в классе java.security.SecureClassLoader
defineClass, defineClass
Методы, объявленные в классе java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
Подробное описание конструкторов
URLClassLoader
public URLClassLoader(URL[] urls, ClassLoader parent)
jar: предполагается, что ссылается на JAR-файл. Любой URL-адрес со схемой file:, заканчивающийся на '/', предполагается, что ссылается на каталог. В противном случае URL-адрес предполагается, что ссылается на JAR-файл, который будет загружен и открыт по мере необходимости.- Параметры:
-
urls- URL-адреса, из которых будут загружаться классы и ресурсы -
parent- родительский загрузчик классов для делегирования - Исключения:
-
NullPointerException- еслиurlsили любой из его элементов являетсяnull.
URLClassLoader
public URLClassLoader(URL[] urls)
ClassLoader. URL-адреса будут просматриваться в указанном порядке для поиска классов и ресурсов после предварительного поиска в родительском загрузчике классов. Любой URL-адрес, заканчивающийся на '/', предполагается, что ссылается на каталог. В противном случае URL-адрес предполагается, что ссылается на JAR-файл, который будет загружен и открыт по мере необходимости.- Параметры:
-
urls- URL-адреса, из которых будут загружаться классы и ресурсы - Исключения:
-
NullPointerException- еслиurlsили любой из его элементов являетсяnull.
URLClassLoader
public URLClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
- Параметры:
-
urls- URL-адреса, из которых будут загружаться классы и ресурсы -
parent- родительский загрузчик классов для делегирования -
factory- URLStreamHandlerFactory, используемая при создании URL-адресов - Исключения:
-
NullPointerException- еслиurlsили любой из его элементов являетсяnull.
URLClassLoader
public URLClassLoader(String name, URL[] urls, ClassLoader parent)
URLClassLoader для указанных URL-адресов. URL-адреса будут просматриваться в указанном порядке для поиска классов и ресурсов после предварительного поиска в указанном родительском загрузчике классов. Любой URL-адрес, заканчивающийся на '/', предполагается, что ссылается на каталог. В противном случае URL-адрес предполагается, что ссылается на JAR-файл, который будет загружен и открыт по мере необходимости.- Параметры:
-
name- имя загрузчика классов; илиnull, если не именован -
urls- URL-адреса, из которых будут загружаться классы и ресурсы -
parent- родительский загрузчик классов для делегирования - Исключения:
-
IllegalArgumentException- если заданное имя пустое. -
NullPointerException- еслиurlsили любой из его элементов являетсяnull. - С тех пор:
- 9
URLClassLoader
public URLClassLoader(String name, URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
URLClassLoader для указанных URL-адресов, родительского загрузчика классов и URLStreamHandlerFactory. Аргумент parent будет использован в качестве родительского загрузчика классов для делегирования. Аргумент factory будет использован в качестве фабрики обработчиков потоков для получения обработчиков протокола при создании новых URL-адресов jar.- Параметры:
-
name- имя загрузчика классов; илиnull, если не именован -
urls- URL-адреса, из которых будут загружаться классы и ресурсы -
parent- родительский загрузчик классов для делегирования -
factory- URLStreamHandlerFactory, используемая при создании URL-адресов - Исключения:
-
IllegalArgumentException- если заданное имя пустое. -
NullPointerException- еслиurlsили любой из его элементов являетсяnull. - С тех пор:
- 9
Подробное описание методов
getResourceAsStream
public InputStream getResourceAsStream(String name)
Порядок поиска описан в документации для ClassLoader.getResource(String).
- Переопределяет:
-
getResourceAsStreamв классеClassLoader - Параметры:
-
name- имя ресурса - Возвращает:
- Поток ввода для чтения ресурса, или
null, если ресурс не был найден - Исключения:
-
NullPointerException- Еслиnameявляетсяnull - С тех пор:
- 1.7
close
public void close() throws IOException
В случае URL-адресов jar: и file:, он также закрывает любые файлы, которые были открыты им. Если другой поток загружает класс во время вызова метода close, то результат этой загрузки не определён.
Метод делает лучшую попытку закрыть все открытые файлы, перехватывая IOException внутри. Непроверенные исключения и ошибки не перехватываются. Вызов close для уже закрытого загрузчика не имеет эффекта.
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Исключения:
-
IOException- если закрытие любого файла, открытого этим загрузчиком классов, привело к исключению IOException. Любые такие исключения перехватываются внутри. Если перехвачено только одно, то оно повторно выбрасывается. Если перехвачено более одного исключения, то второе и последующие исключения добавляются в качестве подавляющих исключений первого перехваченного, которое затем повторно выбрасывается. - С тех пор:
- 1.7
addURL
protected void addURL(URL url)
Если указанный URL-адрес null или уже находится в списке URL-адресов, или если этот загрузчик закрыт, то вызов этого метода не имеет эффекта.
- Параметры:
-
url- URL-адрес, который будет добавлен в путь поиска URL-адресов
getURLs
public URL[] getURLs()
- Возвращает:
- путь поиска URL-адресов для загрузки классов и ресурсов.
findClass
protected Class<?> findClass(String name) throws ClassNotFoundException
- Переопределяет:
-
findClassв классеClassLoader - Параметры:
-
name- имя класса - Возвращает:
- результирующий класс
- Исключения:
-
ClassNotFoundException- если класс не был найден или если загрузчик закрыт. -
NullPointerException- еслиnameявляетсяnull.
definePackage
protected Package definePackage(String name, Manifest man, URL url)
URLClassLoader. Атрибуты, содержащиеся в указанном Manifest, будут использоваться для получения информации о версии пакета и опечатывании. Для запечатанных пакетов дополнительный URL-адрес указывает URL-адрес источника кода, из которого был загружен пакет.- Параметры:
-
name- имя пакета -
man-Manifest, содержащий информацию о версии пакета и опечатывании -
url- URL-адрес источника кода для пакета или null, если он отсутствует - Возвращает:
- новый объект
Package - Исключения:
-
IllegalArgumentException- если имя пакета уже определено этим загрузчиком классов
findResource
public URL findResource(String name)
- Переопределяет:
-
findResourceв классеClassLoader - Параметры:
-
name- имя ресурса - Возвращает:
- объект
URLдля ресурса, илиnull, если ресурс не был найден или если загрузчик закрыт.
Найти ресурсы
public Enumeration<URL> findResources(String name) throws IOException
- Переопределяет:
-
findResourcesв классеClassLoader - Параметры:
-
name- имя ресурса - Возвращает:
- Перечисление
EnumerationURL. Если загрузчик закрыт, перечисление не содержит элементов. - Исключение:
-
IOException- если произошла ошибка ввода-вывода
getPermissions
protected PermissionCollection getPermissions(CodeSource codesource)
- Переопределяет:
-
getPermissionsв классеSecureClassLoader - Параметры:
-
codesource-CodeSource - Возвращает:
- пустой набор разрешений
- Исключение:
-
NullPointerException- еслиcodesourceявляетсяnull.
newInstance
public static URLClassLoader newInstance(URL[] urls, ClassLoader parent)
- Параметры:
-
urls- URL-адреса для поиска классов и ресурсов -
parent- родительский загрузчик классов для делегирования - Возвращает:
- результирующий загрузчик классов
- Исключение:
-
NullPointerException- еслиurlsили любой из его элементов являетсяnull.
newInstance
public static URLClassLoader newInstance(URL[] urls)
- Параметры:
-
urls- URL-адреса для поиска классов и ресурсов - Возвращает:
- результирующий загрузчик классов
- Исключение:
-
NullPointerException- еслиurlsили любой из его элементов являетсяnull.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/net/URLClassLoader.html