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