Package io.microsphere.util.jar
Class JarUtils
- java.lang.Object
-
- io.microsphere.util.jar.JarUtils
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
MANIFEST_RESOURCE_PATH
The resource path of Manifest file in JAR archive.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description protected static void
assertJarURLProtocol(java.net.URL jarURL)
protected static void
doExtract(java.util.jar.JarFile jarFile, java.lang.Iterable<java.util.jar.JarEntry> jarEntries, java.io.File targetDirectory)
protected static java.util.List<java.util.jar.JarEntry>
doFilter(java.lang.Iterable<java.util.jar.JarEntry> jarEntries, JarEntryFilter jarEntryFilter)
static void
extract(java.io.File jarSourceFile, java.io.File targetDirectory)
Extract the sourceJarFile
to target directorystatic void
extract(java.io.File jarSourceFile, java.io.File targetDirectory, JarEntryFilter jarEntryFilter)
Extract the sourceJarFile
to target directory with specifiedJarEntryFilter
static void
extract(java.net.URL jarResourceURL, java.io.File targetDirectory, JarEntryFilter jarEntryFilter)
Extract the sourceJarFile
to target directory with specifiedJarEntryFilter
static void
extract(java.util.jar.JarFile jarFile, java.io.File targetDirectory, JarEntryFilter jarEntryFilter)
Extract the sourceJarFile
to target directory with specifiedJarEntryFilter
static java.util.List<java.util.jar.JarEntry>
filter(java.util.jar.JarFile jarFile, JarEntryFilter jarEntryFilter)
FilterJarEntry
list fromJarFile
static java.util.jar.JarEntry
findJarEntry(java.net.URL jarURL)
FindJarEntry
from specifiedurl
static java.lang.String
resolveJarAbsolutePath(java.net.URL jarURL)
Resolve absolute path from theURL
ofJarEntry
static java.lang.String
resolveRelativePath(java.net.URL jarURL)
Resolve Relative path from Jar URLstatic java.util.jar.JarFile
toJarFile(java.net.URL jarURL)
Create aJarFile
from specifiedURL
ofJarFile
-
-
-
Field Detail
-
MANIFEST_RESOURCE_PATH
public static final java.lang.String MANIFEST_RESOURCE_PATH
The resource path of Manifest file in JAR archive. Typically located underMETA-INF/MANIFEST.MF
in standard Java archives.- See Also:
- Constant Field Values
-
-
Method Detail
-
toJarFile
public static java.util.jar.JarFile toJarFile(java.net.URL jarURL) throws java.io.IOException
Create aJarFile
from specifiedURL
ofJarFile
- Parameters:
jarURL
-URL
ofJarFile
orJarEntry
- Returns:
- JarFile
- Throws:
java.io.IOException
- Ifjar file
is invalid, seeJarFile(String)
-
assertJarURLProtocol
protected static void assertJarURLProtocol(java.net.URL jarURL) throws java.lang.NullPointerException, java.lang.IllegalArgumentException
-
resolveRelativePath
@Nonnull public static java.lang.String resolveRelativePath(java.net.URL jarURL) throws java.lang.NullPointerException, java.lang.IllegalArgumentException
Resolve Relative path from Jar URL- Parameters:
jarURL
-URL
ofJarFile
orJarEntry
- Returns:
- Non-null
- Throws:
java.lang.NullPointerException
- seeassertJarURLProtocol(URL)
java.lang.IllegalArgumentException
- seeassertJarURLProtocol(URL)
-
resolveJarAbsolutePath
@Nonnull public static java.lang.String resolveJarAbsolutePath(java.net.URL jarURL) throws java.lang.NullPointerException, java.lang.IllegalArgumentException
Resolve absolute path from theURL
ofJarEntry
- Parameters:
jarURL
-URL
ofJarFile
orJarEntry
- Returns:
- If
URL.getProtocol()
equalsjar
orfile
, resolves absolute path, or returnnull
- Throws:
java.lang.NullPointerException
- seeassertJarURLProtocol(URL)
java.lang.IllegalArgumentException
- seeassertJarURLProtocol(URL)
-
filter
@Nonnull public static java.util.List<java.util.jar.JarEntry> filter(java.util.jar.JarFile jarFile, JarEntryFilter jarEntryFilter)
FilterJarEntry
list fromJarFile
- Parameters:
jarFile
-JarFile
jarEntryFilter
-JarEntryFilter
- Returns:
- Read-only List
-
doFilter
protected static java.util.List<java.util.jar.JarEntry> doFilter(java.lang.Iterable<java.util.jar.JarEntry> jarEntries, JarEntryFilter jarEntryFilter)
-
findJarEntry
public static java.util.jar.JarEntry findJarEntry(java.net.URL jarURL) throws java.io.IOException
FindJarEntry
from specifiedurl
- Parameters:
jarURL
- jar resource url- Returns:
- If found , return
JarEntry
- Throws:
java.io.IOException
-
extract
public static void extract(java.io.File jarSourceFile, java.io.File targetDirectory) throws java.io.IOException
Extract the sourceJarFile
to target directory- Parameters:
jarSourceFile
- the sourceJarFile
targetDirectory
- target directory- Throws:
java.io.IOException
- When the source jar file is an invalidJarFile
-
extract
public static void extract(java.io.File jarSourceFile, java.io.File targetDirectory, JarEntryFilter jarEntryFilter) throws java.io.IOException
Extract the sourceJarFile
to target directory with specifiedJarEntryFilter
- Parameters:
jarSourceFile
- the sourceJarFile
targetDirectory
- target directoryjarEntryFilter
-JarEntryFilter
- Throws:
java.io.IOException
- When the source jar file is an invalidJarFile
-
extract
public static void extract(java.util.jar.JarFile jarFile, java.io.File targetDirectory, JarEntryFilter jarEntryFilter) throws java.io.IOException
Extract the sourceJarFile
to target directory with specifiedJarEntryFilter
- Parameters:
jarFile
- the sourceJarFile
targetDirectory
- target directoryjarEntryFilter
-JarEntryFilter
- Throws:
java.io.IOException
- When the source jar file is an invalidJarFile
-
extract
public static void extract(java.net.URL jarResourceURL, java.io.File targetDirectory, JarEntryFilter jarEntryFilter) throws java.io.IOException
Extract the sourceJarFile
to target directory with specifiedJarEntryFilter
- Parameters:
jarResourceURL
- The resource URL ofJarFile
orJarEntry
targetDirectory
- target directoryjarEntryFilter
-JarEntryFilter
- Throws:
java.io.IOException
- When the source jar file is an invalidJarFile
-
doExtract
protected static void doExtract(java.util.jar.JarFile jarFile, java.lang.Iterable<java.util.jar.JarEntry> jarEntries, java.io.File targetDirectory) throws java.io.IOException
- Throws:
java.io.IOException
-
-