機械翻訳について

jdepsコマンド

名前

jdeps - Javaクラス依存性アナライザを起動

シノプシス

jdeps [options] path ...

options

コマンド行オプション。 使用可能なオプションの詳細は、次の各項を参照してください。

path
分析する.classファイル、ディレクトリまたはJARファイルへのパス名。

説明

jdepsコマンドは、Javaクラス・ファイルの依存関係をパッケージ・レベルまたはクラス・レベルで表示します。 入力クラスには、.classファイル、ディレクトリ、JARファイルへのパス名、またはすべてのクラス・ファイルが分析されるクラスの完全修飾名を指定できます。 出力は、オプションによって決まります。 デフォルトでは、jdepsコマンドは依存関係をシステム出力に書き込みます。 このコマンドは、DOT言語(-dotoutputオプションを参照)で依存関係を生成できます。

有効なオプション

-?または-hあるいは--help
ヘルプ・メッセージを出力します。
-dotoutput dirまたは--dot-output dir
DOTファイルの出力先ディレクトリを指定します。 このオプションが指定されている場合、jdepsコマンドは、依存関係をリストする分析済アーカイブarchive-file-name.dotごとに1つの.dotファイル、およびアーカイブ・ファイル間の依存関係をリストするsummary.dotという名前のサマリー・ファイルを生成します。
-sまたは-summary
依存関係のサマリーのみを出力します。
-vまたは-verbose

クラス・レベルの依存関係をすべて出力します。 これは次の記述と同等です。

-verbose:class -filter:none

-verbose:package
デフォルトでは同じアーカイブ内の依存関係を除く、パッケージ・レベルの依存関係を出力します。
-verbose:class
デフォルトでは同じアーカイブ内の依存関係を除く、クラス・レベルの依存関係を出力します。
-apionlyまたは--api-only
分析をAPIに制限します。たとえば、フィールド・タイプ、メソッド・パラメータ・タイプ、戻り型、チェック済例外タイプなど、パブリック・クラスのpublicおよびprotectedメンバーのシグネチャからの依存性などです。
-jdkinternalsまたは--jdk-internals

JDKの内部APIでクラス・レベルの依存関係を検索します。 デフォルトでは、-includeオプションを指定しないかぎり、このオプションは--classpathオプションおよび入力ファイルに指定されたすべてのクラスを分析します。 このオプションを-p-e、および-sオプションとともに使用することはできません。

警告: JDKの内部APIにはアクセスできません。

-cp path-classpath pathまたは--class-path path
クラス・ファイルの検索場所を指定します。
--module-path module-path
モジュール・パスを指定します。
--upgrade-module-path module-path
アップグレード・モジュール・パスを指定します。
--system java-home
代替システム・モジュール・パスを指定します。
--add-modules module-name[, module-name...]
分析のルート・セットにモジュールを追加します。
--multi-release version
複数のリリースJARファイルを処理する場合のバージョンを指定します。versionは、9またはベースの整数である必要があります。
-qまたは-quiet
-generate-module-info出力に失われた依存性は表示されません。
-versionまたは--version
バージョン情報を出力します。

モジュール依存関係分析オプション

-m module-nameまたは--module module-name
分析対象のルート・モジュールを指定します。
--generate-module-info dir
指定されたディレクトリの下にmodule-info.javaを生成します。 指定されたJARファイルが分析されます。 このオプションは、--dot-outputまたは--class-pathオプションと一緒には使用できません。 開いているモジュールには--generate-open-moduleオプションを使用します。
--generate-open-module dir
指定したディレクトリにある指定されたJARファイルのmodule-info.javaをオープン・モジュールとして生成します。 このオプションは、--dot-outputまたは--class-pathオプションと一緒には使用できません。
--check module-name [, module-name...]
指定されたモジュールの依存関係を分析します。 モジュール・ディスクリプタ、分析結果のモジュールの依存関係および遷移削減後のグラフを出力します。 また、未使用の修飾されたエクスポートも特定します。
--list-deps
モジュールの依存関係の他、JDKの内部API (参照される場合)のパッケージ名もリストします。 このオプションは、クラス・パスおよびモジュール・パス(参照されている場合)のライブラリを一時的に分析します。 非依存の依存性分析には、--no-recursiveオプションを使用します。
--list-reduced-deps
モジュール・グラフから暗黙的な読取りエッジをリストせずに、--list-depsと同じです。 モジュールM1がM2を読み取り、M2はM3上で推移的である必要がある場合、M3を読み取るM1は含意されており、グラフには表示されません。
--print-module-deps
--list-reduced-depsと同じで、モジュール依存関係のコンマ区切りリストを出力します。 この出力は、jlink --add-modulesで、これらのモジュールとその推移的な依存関係を含むカスタム・イメージを作成するために使用できます。
--ignore-missing-deps
欠落している依存関係を無視します。

依存関係をフィルタするオプション

-p pkg_name-package pkg_nameまたは--package pkg_name
指定されたパッケージ名に一致する依存関係を検索します。 このオプションは、様々なパッケージに対して複数回指定できます。 -pオプションと-eオプションは、相互に排他的です。
-e regex-regex regexまたは--regex regex
指定されたパターンに一致する依存関係を検索します。 -pオプションと-eオプションは、相互に排他的です。
--require module-name
指定されたモジュール名(複数回指定されることもあり)に一致する依存関係を検索します。 --package--regex、および--requireオプションは相互に排他的です。
-f regexまたは-filter regex
指定されたパターンに一致する依存関係をフィルタします。 複数回指定した場合は、最後のものが選択されます。
-filter:package
同じパッケージ内の依存関係をフィルタします。 これはデフォルトです。
-filter:archive
同じアーカイブ内の依存関係をフィルタします。
-filter:module
同じモジュール内の依存関係をフィルタします。
-filter:none
-filter:packageおよび-filter:archiveフィルタリングはありません。 -filterオプションで指定されたフィルタリングは引き続き適用されます。
--missing-deps
欠落している依存性が見つかります。 このオプションは、-p-e、および-sオプションでは使用できません。

分析対象のクラスをフィルタするオプション

-include regex
パターンに一致するクラスに分析を制限します。 このオプションを使用すると、分析対象クラスのリストがフィルタリングされます。 パターンを依存関係に適用する-pおよび-eと一緒に使用できます。
-Pまたは-profile
パッケージを含むプロファイルを表示します。
-Rまたは--recursive
すべてのランタイム依存関係を再帰的にトラバースします。 -Rオプションは-filter:noneを意味します。 -p-e、または-fオプションが指定されている場合は、一致する依存関係のみが分析されます。
--no-recursive
依存関係を再帰的にトラバースしないでください。
-Iまたは--inverse
他の指定されたオプションごとに依存関係を分析し、一致するノードに直接および間接的に依存するアーティファクトをすべて検索します。 これは、コンパイル時の表示分析および出力依存関係サマリーの逆に相当します。 このオプションは、--require--package、または--regexオプションとともに使用する必要があります。
--compile-time
-Rオプションのコンパイル時ビューなど、推移的依存関係のコンパイル時ビューを分析します。 他の指定されたオプションごとに依存関係を分析します。 ディレクトリ、JARファイルまたはモジュールから依存関係が検出された場合、その含んでいるアーカイブ内のクラスがすべて分析されます。

依存関係の分析例

次の例は、Notepad.jarファイルの依存性の分析を示しています。

LinuxおよびOS X:

$ jdeps demo/jfc/Notepad/Notepad.jar
Notepad.jar -> java.base
Notepad.jar -> java.desktop
Notepad.jar -> java.logging
   <unnamed> (Notepad.jar)
      -> java.awt
      -> java.awt.event
      -> java.beans
      -> java.io
      -> java.lang
      -> java.net
      -> java.util
      -> java.util.logging
      -> javax.swing
      -> javax.swing.border
      -> javax.swing.event
      -> javax.swing.text
      -> javax.swing.tree
      -> javax.swing.undo

Windows:

C:\Java\jdk1.9.0>jdeps demo\jfc\Notepad\Notepad.jar
Notepad.jar -> java.base
Notepad.jar -> java.desktop
Notepad.jar -> java.logging
   <unnamed> (Notepad.jar)
      -> java.awt
      -> java.awt.event
      -> java.beans
      -> java.io
      -> java.lang
      -> java.net
      -> java.util
      -> java.util.logging
      -> javax.swing
      -> javax.swing.border
      -> javax.swing.event
      -> javax.swing.text
      -> javax.swing.tree
      -> javax.swing.undo

--inverseオプションの使用例

 $ jdeps --inverse --require java.xml.bind
Inverse transitive dependences on [java.xml.bind]
java.xml.bind <- java.se.ee
java.xml.bind <- jdk.xml.ws
java.xml.bind <- java.xml.ws <- java.se.ee
java.xml.bind <- java.xml.ws <- jdk.xml.ws
java.xml.bind <- jdk.xml.bind <- jdk.xml.ws