public class JarMerger
extends java.lang.Object
implements java.io.Closeable
| Modifier and Type | Class and Description |
|---|---|
static interface |
JarMerger.Relocator |
static interface |
JarMerger.Transformer |
| Modifier and Type | Field and Description |
|---|---|
static java.util.function.Predicate<java.lang.String> |
CLASSES_ONLY |
static java.util.function.Predicate<java.lang.String> |
EXCLUDE_CLASSES |
static java.lang.String |
MODULE_PATH |
static java.nio.file.attribute.FileTime |
ZERO_TIME |
| Constructor and Description |
|---|
JarMerger(java.nio.file.Path jarFile) |
JarMerger(java.nio.file.Path jarFile,
java.util.function.Predicate<java.lang.String> filter) |
| Modifier and Type | Method and Description |
|---|---|
void |
addDirectory(java.nio.file.Path directory) |
void |
addDirectory(java.nio.file.Path directory,
java.util.function.Predicate<java.lang.String> filterOverride,
JarMerger.Transformer transformer,
JarMerger.Relocator relocator) |
void |
addEntry(java.lang.String entryPath,
java.io.InputStream input) |
void |
addFile(java.lang.String entryPath,
java.nio.file.Path file) |
void |
addJar(java.nio.file.Path file) |
void |
addJar(java.nio.file.Path file,
java.util.function.Predicate<java.lang.String> filterOverride,
JarMerger.Relocator relocator) |
void |
close() |
void |
setCompressionLevel(int level)
Change the compression level for the next entries added to this jar.
|
void |
setManifestProperties(java.util.Map<java.lang.String,java.lang.String> properties) |
public static final java.util.function.Predicate<java.lang.String> CLASSES_ONLY
public static final java.util.function.Predicate<java.lang.String> EXCLUDE_CLASSES
public static final java.lang.String MODULE_PATH
public static final java.nio.file.attribute.FileTime ZERO_TIME
public JarMerger(@NonNull
java.nio.file.Path jarFile)
throws java.io.IOException
java.io.IOExceptionpublic JarMerger(@NonNull
java.nio.file.Path jarFile,
@Nullable
java.util.function.Predicate<java.lang.String> filter)
throws java.io.IOException
java.io.IOExceptionpublic void addDirectory(@NonNull
java.nio.file.Path directory)
throws java.io.IOException
java.io.IOExceptionpublic void addDirectory(@NonNull
java.nio.file.Path directory,
@Nullable
java.util.function.Predicate<java.lang.String> filterOverride,
@Nullable
JarMerger.Transformer transformer,
@Nullable
JarMerger.Relocator relocator)
throws java.io.IOException
java.io.IOExceptionpublic void addJar(@NonNull
java.nio.file.Path file)
throws java.io.IOException
java.io.IOExceptionpublic void addJar(@NonNull
java.nio.file.Path file,
@Nullable
java.util.function.Predicate<java.lang.String> filterOverride,
@Nullable
JarMerger.Relocator relocator)
throws java.io.IOException
java.io.IOExceptionpublic void addFile(@NonNull
java.lang.String entryPath,
@NonNull
java.nio.file.Path file)
throws java.io.IOException
java.io.IOExceptionpublic void addEntry(@NonNull
java.lang.String entryPath,
@NonNull
java.io.InputStream input)
throws java.io.IOException
java.io.IOExceptionpublic void setCompressionLevel(int level)
ZipOutputStream.setLevel(int) for more details.
Use 0 for no compression.
level - the compression level (0-9)public void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseablejava.io.IOExceptionpublic void setManifestProperties(java.util.Map<java.lang.String,java.lang.String> properties)
throws java.io.IOException
java.io.IOException