jvm.classloader

+base+

+class-cache+

+clojure-jar+

+rq+

+spec-jar+

add-url

added in 3.0

(add-url path)(add-url loader path)

adds a classpath to the loader

all-jars

added in 3.0

(all-jars)(all-jars loader)

gets all jars on the classloader

all-paths

added in 3.0

(all-paths)(all-paths loader)

gets all paths on the classloader

all-urls

added in 3.0

(all-urls)(all-urls loader)

returns all urls contained by the loader

(all-urls)

any-load-class

added in 3.0

(any-load-class cls _ _)

loads a class, storing class into the global cache

classpath

added in 3.0

(classpath)(classpath loader)

returns the classpath for the loader, including parent loaders

delegation

added in 3.0

(delegation cl)

returns a list of classloaders in order of top to bottom

dynamic-classloader

added in 3.0

(dynamic-classloader)(dynamic-classloader urls)(dynamic-classloader urls parent)

creates a dynamic classloader instance

dynamic-load-bytes

added in 3.0

(dynamic-load-bytes bytes loader {:keys [name source], :as opts})

loads a class from bytes

dynamic-load-coords

added in 3.0

(dynamic-load-coords coordinates loader {:keys [entry-path], :as opts})

loads a class from a coordinate

dynamic-load-string

added in 3.0

(dynamic-load-string path loader {:keys [entry-path], :as opts})

loads a class from a path string

get-url

added in 3.0

(get-url path)(get-url loader path)

returns the required url

(get-url (fs/path “src”)) ;;#object[java.net.URL 0x3d202d52 “file:/Users/chris/Development/hara/hara/src/”] => java.net.URL

has-url?

added in 3.0

(has-url? path)(has-url? loader path)

checks whether the classloader has the following url

(has-url? (fs/path “src”)) => true

load-class

added in 3.0

(load-class x)(load-class x opts)(load-class x opts loader)

loads class from an external source

remove-url

added in 3.0

(remove-url path)(remove-url loader path)

removes url from classloader

to-bytes

multimethod

added in 3.0

opens .class file from an external source

unload-class

added in 3.0

(unload-class name)

unloads a class from the current namespace

url-classloader

added in 3.0

(url-classloader urls)(url-classloader urls parent)

returns a java.net.URLClassLoader from a list of strings