代码之家  ›  专栏  ›  技术社区  ›  anjanb

JavaJAR符号信息:什么是TDAB的等价物?

  •  3
  • anjanb  · 技术社区  · 15 年前

    我有一个.jar文件,它是1MB。如果没有调试信息,它应该是大约100KB。现在,如何删除调试信息?

    来自Borland世界的老年人可能还记得一个叫做 tdstrip 这将从.exe中删除符号信息。

    Java世界中的等价物是什么?我正在尝试在1MB文件太大的地方进行移动开发。

    我知道我可以在没有调试信息的情况下重新编译和重建.jar文件,但是如果您没有源文件等,那么如何进行呢?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Mark    15 年前
        2
  •  4
  •   stacker    15 年前

    %JAVA_HOME%/bin/pack200 -r -G jartostrip.jar

    Usage:  pack200 [-opt... | --option=value]... x.pack[.gz] y.jar
    
    Packing Options
      -g, --no-gzip                   output a plain *.pack file with no zipping
      --gzip                          (default) post-process the pack output with gzip
      -G, --strip-debug               remove debugging attributes while packing
      -O, --no-keep-file-order        do not transmit file ordering information
      --keep-file-order               (default) preserve input file ordering
      -S{N}, --segment-limit={N}      output segment limit (default N=1Mb)
      -E{N}, --effort={N}             packing effort (default N=5)
      -H{h}, --deflate-hint={h}       transmit deflate hint: true, false, or keep (default)
      -m{V}, --modification-time={V}  transmit modtimes: latest or keep (default)
      -P{F}, --pass-file={F}          transmit the given input element(s) uncompressed
      -U{a}, --unknown-attribute={a}  unknown attribute action: error, strip, or pass (default)
      -C{N}={L}, --class-attribute={N}={L}  (user-defined attribute)
      -F{N}={L}, --field-attribute={N}={L}  (user-defined attribute)
      -M{N}={L}, --method-attribute={N}={L} (user-defined attribute)
      -D{N}={L}, --code-attribute={N}={L}   (user-defined attribute)
      -f{F}, --config-file={F}        read file F for Pack200.Packer properties
      -v, --verbose                   increase program verbosity
      -q, --quiet                     set verbosity to lowest level
      -l{F}, --log-file={F}           output to the given log file, or '-' for System.out
      -?, -h, --help                  print this message
      -V, --version                   print program version
      -J{X}                           pass option X to underlying Java VM
    
    Notes:
      The -P, -C, -F, -M, and -D options accumulate.
      Example attribute definition:  -C SourceFile=RUH .
      Config. file properties are defined by the Pack200 API.
      For meaning of -S, -E, -H-, -m, -U values, see Pack200 API.
      Layout definitions (like RUH) are defined by JSR 200.
    
    Repacking mode updates the JAR file with a pack/unpack cycle:
        pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar
    
        3
  •  1
  •   Joachim Sauer    15 年前