Class JarSplitterMain


  • public class JarSplitterMain
    extends Object
    Simple utility that splits a large jar file into one or more jar files that are each less than the file size specified with --max_file_size. This class strips out jar index files. It does not, however, ensure that resource or META-INF files are directed to the appropriate jar file. It's unclear whether this will cause problems or not. UPDATE to the lack of clarity: It is now clear that this will cause problems. Some frameworks (datanucleus in particular) make assumptions about the colocation of well-known files and the manifest in the same jar. Splitting the jar violates these assumptions. Usage:
       JarSplitter --input_jar=MyProject_deploy.jar \
                   --output_directory=./lib \
                   --max_file_size=10000000 \
                   --replicate_manifests=false \
                   --exclude_suffixes=.so,.dll
    • Field Detail

      • MAX_FILE_SIZE

        public static final com.google.common.flags.Flag<Integer> MAX_FILE_SIZE
      • INPUT_JAR

        public static final com.google.common.flags.Flag<String> INPUT_JAR
      • OUTPUT_DIRECTORY

        public static final com.google.common.flags.Flag<String> OUTPUT_DIRECTORY
      • OUTPUT_DIGITS

        public static final com.google.common.flags.Flag<Integer> OUTPUT_DIGITS
      • REPLICATE_MANIFESTS

        public static final com.google.common.flags.Flag<Boolean> REPLICATE_MANIFESTS
      • EXCLUDE_SUFFIXES

        public static final com.google.common.flags.Flag<Set<String>> EXCLUDE_SUFFIXES
    • Constructor Detail

      • JarSplitterMain

        public JarSplitterMain()