Java アプリケーションは、JAR (Java Archive) ファイルにバンドルすることができます。JAR ファイルは、次の例に示すように dbxを使用することによってデバッグすることができます。
(dbx) debug myjar.jar |
ファイル名が .jar で終わるファイルのデバッグを開始すると、dbx は、その JAR ファイルのマニフェストに指定されている Main_Class 属性を使って主クラスを特定します (主クラスは、アプリケーションのエントリポイントになっている、JAR ファイル内のクラスです)。フルパス名または相対パス名を使って JAR ファイルが指定された場合、dbx は Main-Class 属性のクラスパスの前にそのディレクトリ名を追加します。
Main-Class 属性を持たない JAR ファイルをデバッグする場合、JAR URL 構文 jar:<url>!/{entry} を使用できます。この構文は、次の例のように、主クラスの名前を指定するために JarURLConnection (Java 2 Platform, Standard Edition のクラス) で指定されています。
(dbx) debug jar:myjar.jar!/myclass.class (dbx) debug jar:/a/b/c/d/e.jar!/x/y/z.class (dbx) debug jar:file:/a/b/c/d.jar!/myclass.class |
これらの例のどの場合も、dbx は次のことを行います。
文字 ! のあとに指定されたクラスパスを主クラスとみなします (例: /myclass.class または /x/y/z.class)。
JAR ファイルの名前 /myjar.jar、/a/b/c/d/e.jar、または /a/b/c/d.jar をクラスパスに追加します。
主クラスのデバッグを開始します。
jvm_invocation 環境変数を使って JVM ソフトウェアの起動方法をカスタマイズした場合は (「JVM ソフトウェアの起動方法のカスタマイズ」を参照)、JAR ファイルのファイル名がクラスパスに追加されません。この場合は、デバッグを開始するときに JAR ファイルのファイル名をクラスパスに手動で追加する必要があります。