public class URLClassLoader extends SecureClassLoader implements Closeable
URLClassLoaderã®ã€ã³ã¹ã¿ã³ã¹ãçæããã¹ã¬ããã®AccessControlContextã¯ããã®ããšã«ã¯ã©ã¹ããã³ãªãœãŒã¹ãããŒããããšãã«äœ¿ãããŸãã
ããŒããããã¯ã©ã¹ã«ã¯ãããã©ã«ãã§ã¯ãURLClassLoaderã®äœææã«æå®ãããURLã ãã«æ¥ç¶ã§ããã¢ã¯ã»ã¹æš©ãäžããããŸãã
| ã³ã³ã¹ãã©ã¯ã¿ | 説æ |
|---|---|
URLClassLoader(URL[] urls) |
å§è²é¢ä¿ã®èŠªã«ãªã£ãŠããããã©ã«ãã®
ClassLoaderã䜿ã£ãŠãæå®ãããURLã®æ°ããURLClassLoaderãæ§ç¯ããŸãã |
URLClassLoader(URL[] urls, ClassLoader parent) |
æå®ãããURLã®æ°ããURLClassLoaderãæ§ç¯ããŸãã
|
URLClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory) |
æå®ãããURLã芪ã¯ã©ã¹ã»ããŒããŒãããã³URLStreamHandlerFactoryã®ããã®æ°ããURLClassLoaderãæ§ç¯ããŸãã
|
| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
protected void |
addURL(URL url) |
æå®ãããURLããã¯ã©ã¹ããã³ãªãœãŒã¹ãæ€çŽ¢ããããã®URLãªã¹ãã«è¿œå ããŸãã
|
void |
close() |
ãã®URLClassLoaderãéããŠããã®ããŒããŒã«ãã£ãŠå®çŸ©ãããæ°ããã¯ã©ã¹ããªãœãŒã¹ãããŒãããããã«äœ¿çšã§ããªãããŸãã
|
protected Package |
definePackage(String name, Manifest man, URL url) |
ãã®ClassLoaderã§ååã䜿ã£ãŠæ°ããããã±ãŒãžãå®çŸ©ããŸãã
|
protected Class<?> |
findClass(String name) |
URLæ€çŽ¢ãã¹ãããæå®ãããååãæã€ã¯ã©ã¹ãæ€çŽ¢ããŠããŒãããŸãã
|
URL |
findResource(String name) |
URLæ€çŽ¢ãã¹äžã§ãæå®ãããååãæã€ãªãœãŒã¹ãæ€çŽ¢ããŸãã
|
Enumeration<URL> |
findResources(String name) |
URLæ€çŽ¢ãã¹äžã®æå®ãããååãæã€ãªãœãŒã¹ã衚ããURLã®åæãè¿ããŸãã
|
protected PermissionCollection |
getPermissions(CodeSource codesource) |
æå®ãããcodesourceãªããžã§ã¯ãã®ã¢ã¯ã»ã¹æš©ãè¿ããŸãã
|
InputStream |
getResourceAsStream(String name) |
æå®ããããªãœãŒã¹ãèªã¿èŸŒãå
¥åã¹ããªãŒã ãè¿ããŸãã
|
URL[] |
getURLs() |
ã¯ã©ã¹ããã³ãªãœãŒã¹ãããŒãããããã®URLã®æ€çŽ¢ãã¹ãè¿ããŸãã
|
static URLClassLoader |
newInstance(URL[] urls) |
æå®ãããURLãšããã©ã«ãã®èŠªã¯ã©ã¹ã»ããŒããŒã«å¯ŸãããURLClassLoaderã®æ°ããã€ã³ã¹ã¿ã³ã¹ãäœæããŸãã
|
static URLClassLoader |
newInstance(URL[] urls, ClassLoader parent) |
æå®ãããURLãšèŠªã¯ã©ã¹ã»ããŒããŒã«å¯ŸãããURLClassLoaderã®æ°ããã€ã³ã¹ã¿ã³ã¹ãäœæããŸãã
|
defineClass, defineClassclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignerspublic URLClassLoader(URL[] urls, ClassLoader parent)
ã»ãã¥ãªãã£ã»ãããŒãžã£ãååšããå Žåããã®ã¯ã©ã¹ã»ããŒããŒã®äœæãèš±å¯ãããããã«ããã®ã¡ãœããã¯æåã«ã»ãã¥ãªãã£ã»ãããŒãžã£ã®checkCreateClassLoaderã¡ãœãããåŒã³åºããŸãã
urls - ã¯ã©ã¹ããã³ãªãœãŒã¹ã®ããŒãå
ãšãªãURLparent - å§è²ã®ããã®èŠªã¯ã©ã¹ã»ããŒããŒSecurityException - ã»ãã¥ãªãã£ã»ãããŒãžã£ãååšãããã®checkCreateClassLoaderã¡ãœãããã¯ã©ã¹ã»ããŒããŒã®äœæãèš±å¯ããªãå ŽåãNullPointerException - urlsãnullã§ããå ŽåãSecurityManager.checkCreateClassLoader()public URLClassLoader(URL[] urls)
ClassLoaderã䜿ã£ãŠãæå®ãããURLã®æ°ããURLClassLoaderãæ§ç¯ããŸãã URLã¯ã芪ã¯ã©ã¹ã»ããŒããŒå
ã§æ€çŽ¢ãããããšãã¯ã©ã¹ããã³ãªãœãŒã¹ã«æå®ãããé ã§æ€çŽ¢ãããŸãã ã/ãã§çµããURLã¯ãã¹ãŠããã£ã¬ã¯ããªãåç
§ããŠãããšã¿ãªãããŸãã ãã以å€ã®å ŽåãURLã¯JARãã¡ã€ã«ãåç
§ããŠãããšã¿ãªãããŸããJARãã¡ã€ã«ã¯å¿
èŠã«å¿ããŠããŠã³ããŒãããã³ãªãŒãã³ãããŸãã
ã»ãã¥ãªãã£ã»ãããŒãžã£ãååšããå Žåããã®ã¯ã©ã¹ã»ããŒããŒã®äœæãèš±å¯ãããããã«ããã®ã¡ãœããã¯æåã«ã»ãã¥ãªãã£ã»ãããŒãžã£ã®checkCreateClassLoaderã¡ãœãããåŒã³åºããŸãã
urls - ã¯ã©ã¹ããã³ãªãœãŒã¹ã®ããŒãå
ãšãªãURLSecurityException - ã»ãã¥ãªãã£ã»ãããŒãžã£ãååšãããã®checkCreateClassLoaderã¡ãœãããã¯ã©ã¹ã»ããŒããŒã®äœæãèš±å¯ããªãå ŽåãNullPointerException - urlsãnullã§ããå ŽåãSecurityManager.checkCreateClassLoader()public URLClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
ã»ãã¥ãªãã£ã»ãããŒãžã£ãååšããå Žåããã®ã¯ã©ã¹ã»ããŒããŒã®äœæãèš±å¯ãããããã«ããã®ã¡ãœããã¯æåã«ã»ãã¥ãªãã£ã»ãããŒãžã£ã®checkCreateClassLoaderã¡ãœãããåŒã³åºããŸãã
urls - ã¯ã©ã¹ããã³ãªãœãŒã¹ã®ããŒãå
ãšãªãURLparent - å§è²ã®ããã®èŠªã¯ã©ã¹ã»ããŒããŒfactoryâURLã®äœææã«äœ¿ãURLStreamHandlerFactorySecurityException - ã»ãã¥ãªãã£ã»ãããŒãžã£ãååšãããã®checkCreateClassLoaderã¡ãœãããã¯ã©ã¹ã»ããŒããŒã®äœæãèš±å¯ããªãå ŽåãNullPointerException - urlsãnullã§ããå ŽåãSecurityManager.checkCreateClassLoader()public InputStream getResourceAsStream(String name)
æ€çŽ¢é ã«ã€ããŠã¯ãClassLoader.getResource(String)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
getResourceAsStreamãã¯ã©ã¹ClassLoadername - ãªãœãŒã¹ånullpublic void close()
throws IOException
jar: URLããã³file: URLã®å Žåã¯ãããã«ãã£ãŠéããããã¡ã€ã«ããã¹ãŠéããããŸãã closeã¡ãœãããåŒã³åºããããšãã«å¥ã®ã¹ã¬ãããã¯ã©ã¹ãããŒãäžã§ããå Žåããã®ããŒãã®çµæã¯æªå®çŸ©ãšãªããŸãã
ãã®ã¡ãœããã¯ãIOExceptionãå
éšçã«ãã£ããããããšã§ãéããŠãããã¹ãŠã®ãã¡ã€ã«ããã¹ãã»ãšãã©ãŒãã§éããããšããŸãã éãã§ãã¯äŸå€ãšãšã©ãŒã¯ãã£ãããããŸããã ãã§ã«éããããããŒããŒã«å¯ŸããŠcloseãåŒã³åºããŠãäœã®å¹æããããŸããã
closeãã€ã³ã¿ãã§ãŒã¹Closeablecloseãã€ã³ã¿ãã§ãŒã¹AutoCloseableIOException - çµæãIOExceptionã«ãªã£ããã®ã¯ã©ã¹ã»ããŒããŒã«ãã£ãŠéããããã¡ã€ã«ãéããå Žåã ããããäŸå€ã¯å
éšçã«ãã£ãããããŸãã 1ã€ã ãããã£ãããããå Žåãåã¹ããŒãããŸãã è€æ°ã®äŸå€ããã£ãããããå Žåã2ã€ç®ä»¥éã®äŸå€ã¯ããã£ãããããæåã®äŸå€ã®æå¶ãããäŸå€ãšããŠè¿œå ããããããåã¹ããŒãããŸãã SecurityException - ã»ãã¥ãªãã£ã»ãããŒãžã£ãèšå®ããããããRuntimePermission(ãcloseClassLoaderã)ãæåŠããå Žåprotected void addURL(URL url)
æå®ãããURLããnullã§ããããURLã®ãªã¹ãã«ãã§ã«å«ãŸããŠããå ŽåããŸãã¯ããã®ããŒããŒãéããããŠããå Žåããã®ã¡ãœãããåŒã³åºããŠãäœã®å¹æããããŸããã
url - URLã®æ€çŽ¢ãã¹ã«è¿œå ããURLpublic URL[] getURLs()
protected Class<?> findClass(String name) throws ClassNotFoundException
findClassãã¯ã©ã¹ClassLoadernameâã¯ã©ã¹ã®ååClassNotFoundException - ã¯ã©ã¹ãèŠã€ãããªãã£ãå ŽåããŸãã¯ããŒããŒãéããããŠããå ŽåãNullPointerException - nameãnullã®å Žåãprotected Package definePackage(String name, Manifest man, URL url) throws IllegalArgumentException
name - ããã±ãŒãžåmanâããã±ãŒãžã®ããŒãžã§ã³ãããã³ã·ãŒãªã³ã°æ
å ±ãå«ããããã§ã¹ãurlâããã±ãŒãžã®ã³ãŒãã»ãœãŒã¹URLããªãå Žåã¯nullIllegalArgumentExceptionâãã®ã¯ã©ã¹ã»ããŒããŒãŸãã¯ãã®äžäœã¯ã©ã¹ã»ããŒããŒã®ããããã«å«ãŸããæ¢åã®ããã±ãŒãžãšããã®ããã±ãŒãžã®ååãéè€ããŠããå Žåpublic URL findResource(String name)
findResourceãã¯ã©ã¹ClassLoadernameâãªãœãŒã¹ã®ååURLããªãœãŒã¹ãèŠã€ãããªãã£ãå ŽåããŸãã¯ããŒããŒãéããããŠããå Žåã¯nullãpublic Enumeration<URL> findResources(String name) throws IOException
findResourcesãã¯ã©ã¹ClassLoadername - ãªãœãŒã¹åURLã®åæãããŒããŒãéããããŠããå Žåãåæã¯ç©ºã«ãªããŸããIOException - å
¥åºåäŸå€ãçºçããå Žåprotected PermissionCollection getPermissions(CodeSource codesource)
ãã®URLã®ãããã³ã«ããjarãã®å Žåãèš±å¯ãããã¢ã¯ã»ã¹æš©ã¯ãJARãã¡ã€ã«ã®URLãå¿ èŠãšããã¢ã¯ã»ã¹æš©ã«åºã¥ãããã®ãšãªããŸãã
ãããã³ã«ããfileãã§ãæ©é¢ã³ã³ããŒãã³ããååšããå Žåããã®æ©é¢ã«æ¥ç¶ããæ©é¢ããã®æ¥ç¶ãåãå ¥ããã¢ã¯ã»ã¹æš©ãä»äžãããå ŽåããããŸãã ãããã³ã«ããfileãã§ããã¹ãšããŠãã¡ã€ã«ãæå®ãããŠããå Žåã«ã¯ããã®ãã¡ã€ã«ã®èªåãæš©ãèš±å¯ãããŸãã ãããã³ã«ããfileãã§ããã¹ããã£ã¬ã¯ããªã§ããå Žåã«ã¯ããã®ãã£ã¬ã¯ããªå ã«å«ãŸãããã¹ãŠã®ãã¡ã€ã«ã®èªåãæš©ãšã(ååž°çã«)ãã¹ãŠã®ãã¡ã€ã«ãšãµããã£ã¬ã¯ããªã®èªåãæš©ããèš±å¯ãããŸãã
ãããã³ã«ããfileãã§ã¯ãªãå Žåã¯ãURLã§æå®ããããã¹ãã«æ¥ç¶ãããã®ãã¹ãããã®æ¥ç¶ãåãå ¥ããã¢ã¯ã»ã¹æš©ãä»äžãããŸãã
getPermissionsãã¯ã©ã¹SecureClassLoadercodesource - ã³ãŒãã»ãœãŒã¹NullPointerException - codesourceãnullã§ããå Žåãpublic static URLClassLoader newInstance(URL[] urls, ClassLoader parent)
loadClassã¡ãœããã¯ãã¯ã©ã¹ãããŒãããåã«SecurityManager.checkPackageAccessã¡ãœãããåŒã³åºããŸãã urls - ã¯ã©ã¹ããã³ãªãœãŒã¹ã®æ€çŽ¢å¯Ÿè±¡ã®URLparent - å§è²ã®ããã®èŠªã¯ã©ã¹ã»ããŒããŒNullPointerException - urlsãnullã§ããå Žåãpublic static URLClassLoader newInstance(URL[] urls)
loadClassã¡ãœããã¯ãã¯ã©ã¹ãããŒãããåã«SecurityManager.checkPackageAccessãåŒã³åºããŸãã urls - ã¯ã©ã¹ããã³ãªãœãŒã¹ã®æ€çŽ¢å¯Ÿè±¡ã®URLNullPointerException - urlsãnullã§ããå Žåã ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã