1 '\t" t
   2 .\"
   3 .\" Copyright 2004-2006 Sun Microsystems, Inc.  All Rights Reserved.
   4 .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   5 .\"
   6 .\" This code is free software; you can redistribute it and/or modify it
   7 .\" under the terms of the GNU General Public License version 2 only, as
   8 .\" published by the Free Software Foundation.
   9 .\"
  10 .\" This code is distributed in the hope that it will be useful, but WITHOUT
  11 .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12 .\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  13 .\" version 2 for more details (a copy is included in the LICENSE file that
  14 .\" accompanied this code).
  15 .\"
  16 .\" You should have received a copy of the GNU General Public License version
  17 .\" 2 along with this work; if not, write to the Free Software Foundation,
  18 .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19 .\"
  20 .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21 .\" or visit www.oracle.com if you need additional information or have any
  22 .\" questions.
  23 .\"
  24 .TH pack200 1 "05 Jul 2012"
  25 .SH 名前
  26 pack200 \- JAR パックツール
  27 .SH 形式
  28 .B pack200 
  29 [ 
  30 .I options 
  31 ] 
  32 .I output\-file 
  33 .I JAR\-file
  34 .SH 
  35 オプションの指定順序に決まりはありません。コマンド行または properties ファイルに指定された最後のオプションが、それ以前に指定されたすべてのオプションより優先されます。
  36 .LP
  37 .RS 3
  38 
  39 .JP
  40 .TP 3
  41 options 
  42 コマンド行オプション。
  43 .TP 3
  44 output\-file  
  45 出力ファイルの名前。
  46 .TP 3
  47 JAR\-file     
  48 入力ファイルの名前。
  49 .LP
  50 .RE
  51 .SH 機能説明
  52 .LP
  53 
  54 .LP
  55 .LP
  56 \f2pack200\fP ツールは、Java \f2gzip\fP 圧縮ツールを使って JAR ファイルを圧縮 \f2pack200\fP ファイルに変換する Java アプリケーションです。\f2pack200\fP ファイルは高圧縮のファイルで、帯域幅の節約やダウンロード時間の短縮や直接配備することができます。
  57 .LP     
  58 .LP
  59 \f2pack200\fP ツールには、圧縮エンジンの設定や微調整を行うオプションが用意されています。
  60 .TP
  61 一般的な使用方法:
  62 .LP
  63 .ft 3
  64 .nf     
  65 \f2% pack200 myarchive.pack.gz myarchive.jar\fP
  66 .fi
  67 .ft 1
  68 .LP
  69 この例では、デフォルトの \f2pack200\fP 設定で、\f2myarchive.pack.gz\fP が作成されます。
  70 .LP
  71 .SH オプション
  72 .LP
  73 
  74 .LP
  75 .LP 
  76 \f4\-r \-\-repack\fP
  77 .LP
  78 .RS 3
  79 
  80 .LP
  81 .LP
  82 \f2myarchive.jar\fP ファイルのパックまたはアンパックにより、JAR ファイルを作成します。作成されたファイルは、\f2jarsigner(1)\fP ツールの入力ファイルとして使用できます。
  83 .LP
  84 .RS 3
  85 
  86 .LP
  87 .LP
  88 \f2% pack200 \-\-repack myarchive\-packed.jar myarchive.jar\fP
  89 .LP
  90 .LP
  91 \f2% pack200 \-\-repack myarchive.jar\fP
  92 .LP
  93 .RE
  94 .RE
  95 .LP
  96 \f4\-g \-\-no\-gzip\fP
  97 .LP
  98 .RS 3
  99 
 100 .LP
 101 .LP
 102 \f2pack200\fP ファイルを作成します。このオプションを指定するときは、適切な圧縮ツールを使用する必要があります。また、ターゲットシステムでは、対応する圧縮解除ツールを使用する必要があります。
 103 .LP
 104 .RS 3
 105 
 106 .LP
 107 .LP
 108 \f2% pack200 \-\-no\-gzip myarchive.pack myarchive.jar\fP
 109 .LP
 110 .RE
 111 .RE
 112 .LP
 113 \f4\-G \-\-strip-debug\fP
 114 .LP
 115 .RS 3
 116 
 117 .LP
 118 .LP
 119 出力からデバッグ用の属性を削除します。対象となる属性には、\f2SourceFile\fP、\f2LineNumberTable\fP、\f2LocalVariableTable\fP、および \f2LocalVariableTypeTable\fP などがあります。これらの属性を削除すれば、ダウンロードとインストールのサイズは小さくなりますが、デバッガの機能は制限されます。
 120 .LP
 121 .RE
 122 .LP
 123 \f4\-O \-\-no\-keep\-file\-order\fP
 124 .LP
 125 .RS 3
 126 
 127 .LP
 128 .LP
 129 パックツールは、すべての要素を並べ替えて転送します。また、JAR ディレクトリ名を削除します。このため、ダウンロードのサイズは小さくなりますが、インデックスをはじめとする JAR ファイルの最適化機能は正常に動作しなくなることがあります。
 130 .LP
 131 .RE
 132 .LP
 133 \f4\-Svalue \-\-segment\-limit=\fP\f2value\fP
 134 .LP
 135 .RS 3
 136 
 137 .LP
 138 .LP
 139 各アーカイブセグメントの予測ターゲットサイズ N (バイト) を指定します。N バイト以上を必要とする単一の入力ファイルには、独立したアーカイブセグメントが割り当てられます。たとえば、これは特殊な例ですが、値が \f2-1\fP の場合、すべての入力ファイルを含む単一の巨大なセグメントが生成されます。一方、値が \f20\fP の場合、クラスごとにセグメントが 1 つずつ生成されます。アーカイブセグメントのサイズが大きければ大きいほど断片化は起こりにくく、圧縮率も高くなります。しかし、こうしたセグメントを処理するためには、大量のメモリが必要になります。
 140 .LP
 141 .LP
 142 各セグメントのサイズは、セグメント内で転送される入力ファイルのサイズと、このファイルの名前のサイズ、およびその他の転送プロパティによって予測されます。
 143 .LP
 144 .LP
 145 デフォルトのサイズは \f21000000\fP (百万バイト) です。これは、標準サイズの入力 JAR ファイルを単一セグメント内で転送できるサイズです。パックツールおよびアンパックツールのメモリ要件には制限が課されます。
 146 .LP
 147 .LP
 148 この制限が課されていない 10M バイトの JAR パックファイルは通常、元の 10% 程度のサイズにパックされます。しかし、パックツールでより大きな Java ヒープ (セグメントの制限の約 10 倍) を必要とする場合もあります。
 149 .LP
 150 .RE
 151 .LP
 152 \f4\-Evalue \-\-effort=\fP\f2value\fP
 153 .LP
 154 .RS 3
 155 
 156 .LP
 157 .LP
 158 単一の 10 進数値を指定した場合、パックツールは、指定された圧縮率でアーカイブを圧縮します。レベル \f21\fP の場合、圧縮速度は速くても圧縮率はそれほど高くありません。レベル \f29\fP の場合、圧縮速度は遅くても圧縮率は高くなります。
 159 特殊な値 \f20\fP を指定した場合は、元の JAR ファイルを圧縮なしで直接コピーします。JSR 200 標準では、すべてのアンパックツールはこの特殊な処理をアーカイブ全体のパススルーとして理解する必要があります。
 160 .LP
 161 .LP
 162 デフォルト値は \f25\fP です。この場合、標準的な時間で、適度な圧縮が行われます。
 163 .LP
 164 .RE
 165 .LP
 166 \f4\-Hvalue \-\-deflate\-hint=\fP\f2value\fP
 167 .LP
 168 .RS 3
 169 
 170 .LP
 171 .LP
 172 デフォルト値を上書きし、入力情報を保存します。転送されるアーカイブのサイズは大きくなります。可能な値:
 173 .LP
 174 .TP 3
 175 true
 176 .TP 3
 177 false
 178 どちらの場合でも、パックツールはデフレーションヒントを出力アーカイブに設定します。アーカイブ要素の個々のデフレーションヒントは転送しません。
 179 .LP
 180 .TP 3
 181 keep
 182 入力 JAR 内のデフレーションヒントを保存します (デフォルト)。
 183 .in
 184 .TP
 185 \f4\-mvalue \-\-modification\-time=\fP\f2value\fP
 186 .LP
 187 .RS 3
 188 
 189 .LP
 190 .LP
 191 可能な値:
 192 .LP
 193 .TP 3
 194 latest
 195 パックツールは、元のアーカイブの全エントリの最終更新時刻か、そのセグメントのすべてのエントリの最終更新時刻を特定しようとします。この単一の値はセグメントの一部として転送され、各セグメントの全エントリに適用されます。この場合、すべてのインストールファイルに単一の日付が設定されるという問題はありますが、アーカイブの転送サイズを少し小さくすることができます。
 196 .TP 3
 197 keep
 198 入力 JAR 内の更新時刻を保存します (デフォルト)。
 199 .LP
 200 .RE
 201 .LP
 202 \f4\-Pfile \-\-pass\-file=\fP\f2file\fP
 203 .LP
 204 .RS 3
 205 
 206 .LP
 207 .LP
 208 ファイルを圧縮せず、バイト単位で転送するように指定します。このオプションを繰り返し使用して、複数のファイルを指定できます。パス名の変換は行われません。システムファイルの区切り文字が JAR ファイルの区切り文字 "\f2/\fP" で置き換えられるだけです。ファイル名は、JAR ファイル内の文字列と完全に一致していなければなりません。file にディレクトリ名を指定した場合、そのディレクトリ内のすべてのファイルが転送されます。
 209 .LP
 210 .RE
 211 .LP
 212 \f4\-Uaction \-\-unknown\-attribute=\fP\f2action\fP
 213 .LP
 214 .RS 3
 215 
 216 .LP
 217 .LP
 218 デフォルトの動作を無効にします。たとえば、不明な属性を含むクラスファイルを指定したアクションで転送します。アクションとして指定可能な値:
 219 .LP
 220 .TP 3
 221 error
 222 \f2pack200\fP の操作に失敗し、適切な解説が表示されます。
 223 .TP 3
 224 strip
 225 属性はドロップされます。注: VM 必須属性を削除するとクラスローダの障害が発生することがあります。
 226 .TP 3
 227 pass
 228 この属性が検出された場合、クラス全体が 1 つのリソースとして転送されます。
 229 .LP
 230 .RE
 231 .LP
 232 \f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP
 233 .br
 234  \f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP
 235 .br
 236  \f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP
 237 .br
 238  \f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP
 239 .LP
 240 .RS 3
 241 
 242 .LP
 243 .LP
 244 これら 4 つのオプションでは、クラスエンティティに Class 属性、Field 属性、Method 属性、Code 属性などの属性のレイアウトを指定できます。attribute\-name には、これからレイアウトまたはアクションを定義する属性の名前を指定します。アクションとして指定可能な値:
 245 .LP
 246 .TP 3
 247 (一部のレイアウト文字列)
 248 レイアウト言語は、JSR 200 仕様に定義されています。
 249 .LP
 250 例: \f2\-\-class\-attribute=SourceFile=RUH\fP
 251 .TP 3
 252 error
 253 この属性が検出された場合、pack200 の操作に失敗し、適切な解説が表示されます。
 254 .TP 3
 255 strip
 256 この属性が検出された場合、属性は出力から削除されます。注: VM 必須属性を削除するとクラスローダの障害が発生することがあります。
 257 .LP
 258 .LP
 259 例: \f2\-\-class\-attribute=CompilationID=pass\fP というこの属性を含むクラスファイルを転送します。パックツールは、その他のアクションを行いません。
 260 .LP
 261 .RE
 262 .LP
 263 \f4\-f\fP\f2 \fP\f2pack.properties\fP \f3\-\-config\-file=\fP\f2pack.properties\fP
 264 .LP
 265 .RS 3
 266 
 267 .LP
 268 .LP
 269 コマンド行に、パックツールを初期化するための Java プロパティが含まれている設定ファイルを指定できます。
 270 .LP
 271 .RS 3
 272 
 273 .LP
 274 .LP
 275 \f2% pack200 \-f pack.properties myarchive.pack.gz myarchive.jar\fP
 276 .br
 277 \f2% more pack.properties\fP
 278 .br
 279 \f2# Generic properties for the packer.\fP
 280 .br
 281 \f2modification.time=latest\fP
 282 .br
 283 \f2deflate.hint=false\fP
 284 .br
 285 \f2keep.file.order=false\fP
 286 .br
 287 \f2# This option will cause the files bearing new attributes to\fP
 288 .br
 289 \f2# be reported as an error rather than passed uncompressed.\fP
 290 .br
 291 \f2unknown.attribute=error\fP
 292 .br
 293 \f2# Change the segment limit to be unlimited.\fP
 294 .br
 295 \f2segment.limit=\-1\fP
 296 .LP
 297 .RE
 298 .RE
 299 .RS 3
 300 
 301 .LP
 302 .LP
 303 \f4\-v \-\-verbose\fP
 304 .LP
 305 .RS 3
 306 
 307 .LP
 308 .LP
 309 最小限のメッセージを出力します。このオプションを複数指定すると、より長いメッセージが出力されます。
 310 .LP
 311 .RE
 312 .LP
 313 \f4\-q \-\-quiet\fP
 314 .LP
 315 .RS 3
 316 
 317 .LP
 318 .LP
 319 メッセージを表示せずに動作します。
 320 .LP
 321 .RE
 322 .LP
 323 \f4\-lfilename \-\-log\-file=\fP\f2filename\fP
 324 .LP
 325 .RS 3
 326 
 327 .LP
 328 .LP
 329 出力メッセージのログファイルを指定します。
 330 .LP
 331 .RE
 332 .LP
 333 \f4\-Joption\fP
 334 .LP
 335 .RS 3
 336 
 337 .LP
 338 .LP
 339 \f2pack200\fP によって呼び出される Java 起動ツールにオプションを渡します。たとえば \f2\-J\-Xms48m\fP と指定した場合、起動メモリが 48M バイトに設定されます。\f2\-X\fP で始まってはいませんが、\f2pack200\fP の標準オプションではありません。慣習として、\f2\-J\fP には、Java で書かれたアプリケーションを実行する VM にオプションを渡す働きがあります。
 340 .LP
 341 .RE
 342 .RE
 343 .SH 終了ステータス
 344 .LP
 345 
 346 .LP
 347 .LP
 348 次の終了値が返されます。
 349 .LP
 350 .RS 3
 351 
 352 .LP
 353 .LP
 354 \f2\ 0\fP "成功"
 355 .LP
 356 .LP
 357 \f2>0\fP "エラー"
 358 .LP
 359 .RE
 360 .SH 関連項目
 361 .LP
 362 .RS 3
 363 .TP 2
 364 *
 365 unpack200 \- JAR アンパックツール
 366 .TP 2
 367 *
 368 \f2unpack200(1)\fP、\f2jar(1)\fP、\f2jarsigner(1)\fP、\f2attributes(5)\fP のマニュアルページ 
 369 .TP 2
 370 *
 371 Java SE のドキュメント 
 372 .TP 2
 373 *
 374 .na
 375 \f2Java Deployment Guide \- Pack200\fP
 376 .fi
 377 (http://docs.oracle.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html)
 378 .TP 2
 379 *
 380 \f2jar\fP \- Java アーカイブツール
 381 .TP 2
 382 *
 383 .na
 384 \f2jarsigner\fP \- JAR 署名および検証ツール
 385 .fi
 386 (https://docs.oracle.com/javase/6/docs/technotes/tools/solaris/jarsigner.html)
 387 .RE
 388 
 389 .LP
 390 .SH 注意事項
 391 .LP
 392 
 393 .LP
 394 .LP
 395 このコマンドと \f2pack(1)\fP コマンドを混同しないでください。これらは別製品です。
 396 .LP
 397 .LP
 398 SDK に付属する Java SE API 仕様との相違が見つかった場合には、仕様を優先してください。
 399 .LP
 400