Class JarUtils
- java.lang.Object
-
- nonapi.io.github.classgraph.utils.JarUtils
-
public class JarUtils extends Object
Jarfile utilities.
-
-
Constructor Summary
Constructors Constructor Description JarUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
classfilePathToClassName(String classfilePath)
Convert a classfile path to the corresponding class name.static String
classNameToClassfilePath(String className)
Convert a class name to the corresponding classfile path.static ClassLoader
createURLClassLoaderFromPathString(String classpathStr)
Create a custom URLClassLoader from a classpath path string.static String
leafName(String path)
Returns the leafname of a path, after first stripping off everything after the first '!', if present.static void
logJavaInfo(LogNode log)
Log the Java version and the JRE paths that were found.static String
pathElementsToPathStr(Iterable<?> pathElts)
Get a set of path elements as a string, from an array of objects (e.g.static String
pathElementsToPathStr(Object... pathElts)
Get a set of path elements as a string, from an array of objects (e.g.static String[]
smartPathSplit(String pathStr)
Split a path on File.pathSeparator (':' on Linux, ';' on Windows), but also allow for the use of URLs with protocol specifiers, e.g.
-
-
-
Method Detail
-
smartPathSplit
public static String[] smartPathSplit(String pathStr)
Split a path on File.pathSeparator (':' on Linux, ';' on Windows), but also allow for the use of URLs with protocol specifiers, e.g. "http://domain/jar1.jar:http://domain/jar2.jar". This is really not even handled by the JRE, in all likelihood, but it's better to be robust.- Parameters:
pathStr
- The path to split.- Returns:
- The path element substrings.
-
createURLClassLoaderFromPathString
public static ClassLoader createURLClassLoaderFromPathString(String classpathStr)
Create a custom URLClassLoader from a classpath path string.- Parameters:
classpathStr
- The classpath string.- Returns:
- A custom
URLClassLoader
that can load from the path string.
-
pathElementsToPathStr
public static String pathElementsToPathStr(Object... pathElts)
Get a set of path elements as a string, from an array of objects (e.g. of String, File or URL type, whose toString() method will be called to get the path component), and return the path as a single string delineated with the standard path separator character.- Parameters:
pathElts
- The path elements.- Returns:
- The delimited path formed out of the path elements.
-
pathElementsToPathStr
public static String pathElementsToPathStr(Iterable<?> pathElts)
Get a set of path elements as a string, from an array of objects (e.g. of String, File or URL type, whose toString() method will be called to get the path component), and return the path as a single string delineated with the standard path separator character.- Parameters:
pathElts
- The path elements.- Returns:
- The delimited path formed out of the path elements, after calling each of their toString() methods.
-
leafName
public static String leafName(String path)
Returns the leafname of a path, after first stripping off everything after the first '!', if present.- Parameters:
path
- A file path.- Returns:
- The leafname of the path.
-
classfilePathToClassName
public static String classfilePathToClassName(String classfilePath)
Convert a classfile path to the corresponding class name.
-
classNameToClassfilePath
public static String classNameToClassfilePath(String className)
Convert a class name to the corresponding classfile path.
-
logJavaInfo
public static void logJavaInfo(LogNode log)
Log the Java version and the JRE paths that were found.- Parameters:
log
- The log.
-
-