Class JarSplitterMain

java.lang.Object
com.google.appengine.tools.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 Details

    • 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 Details

    • JarSplitterMain

      public JarSplitterMain()
  • Method Details