1 '\" t
   2 .\" Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
   3 .\" Title: jdeps
   4 .\" Language: English
   5 .\" Date: 2013年11月21日
   6 .\" SectDesc: 基本ツール
   7 .\" Software: JDK 8
   8 .\" Arch: 汎用
   9 .\"
  10 .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  11 .\"
  12 .\" This code is free software; you can redistribute it and/or modify it
  13 .\" under the terms of the GNU General Public License version 2 only, as
  14 .\" published by the Free Software Foundation.
  15 .\"
  16 .\" This code is distributed in the hope that it will be useful, but WITHOUT
  17 .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  18 .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  19 .\" version 2 for more details (a copy is included in the LICENSE file that
  20 .\" accompanied this code).
  21 .\"
  22 .\" You should have received a copy of the GNU General Public License version
  23 .\" 2 along with this work; if not, write to the Free Software Foundation,
  24 .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  25 .\"
  26 .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  27 .\" or visit www.oracle.com if you need additional information or have any
  28 .\" questions.
  29 .\"
  30 .pl 99999
  31 .TH "jdeps" "1" "2013年11月21日" "JDK 8" "基本ツール"
  32 .\" -----------------------------------------------------------------
  33 .\" * Define some portability stuff
  34 .\" -----------------------------------------------------------------
  35 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  36 .\" http://bugs.debian.org/507673
  37 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
  38 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39 .ie \n(.g .ds Aq \(aq
  40 .el       .ds Aq '
  41 .\" -----------------------------------------------------------------
  42 .\" * set default formatting
  43 .\" -----------------------------------------------------------------
  44 .\" disable hyphenation
  45 .nh
  46 .\" disable justification (adjust text to left margin only)
  47 .ad l
  48 .\" -----------------------------------------------------------------
  49 .\" * MAIN CONTENT STARTS HERE *
  50 .\" -----------------------------------------------------------------
  51 .SH "NAME"
  52 jdeps \- Javaクラス依存性アナライザ。
  53 .SH "概要"
  54 .sp
  55 .if n \{\
  56 .RS 4
  57 .\}
  58 .nf
  59 \fIjdeps\fR [\fIoptions\fR] \fIclasses\fR \&.\&.\&.
  60 .fi
  61 .if n \{\
  62 .RE
  63 .\}
  64 .PP
  65 \fIoptions\fR
  66 .RS 4
  67 コマンドライン・オプション。オプションを参照してください。
  68 .RE
  69 .PP
  70 \fIclasses\fR
  71 .RS 4
  72 分析するクラスの名前。クラス・パスで検出できるクラスを、ファイル名、ディレクトリまたはJARファイルで指定できます。
  73 .RE
  74 .SH "説明"
  75 .PP
  76 \fIjdeps\fRコマンドは、Javaクラス・ファイルのパッケージレベルまたはクラスレベルの依存性を示します。入力クラスには、\fI\&.class\fRファイルのパス名、ディレクトリ、JARファイル、またはすべてのクラス・ファイルを分析するための完全修飾クラス名を指定できます。オプションにより出力が決定します。デフォルトでは、\fIjdeps\fRはシステム出力に依存関係を出力します。DOT言語で依存関係を生成できます(\fI\-dotoutput\fRオプションを参照)。
  77 .SH "オプション"
  78 .PP
  79 \-dotoutput <\fIdir\fR>
  80 .RS 4
  81 DOTファイル出力の宛先ディレクトリ。指定した場合は\fIjdeps\fRは<\fIarchive\-file\-name\fR>\&.dotという名前の分析済みアーカイブごとに依存関係をリストする1つのdotファイルを生成し、アーカイブ間の依存関係をリストするsummary\&.dotという名前のサマリー・ファイルも生成します。
  82 .RE
  83 .PP
  84 \-s, \-summary
  85 .RS 4
  86 依存関係のサマリーのみを出力します。
  87 .RE
  88 .PP
  89 \-v, \-verbose
  90 .RS 4
  91 すべてのクラスレベルの依存関係を出力します。
  92 .RE
  93 .PP
  94 \-verbose:package
  95 .RS 4
  96 同じアーカイブ内の依存関係を除き、パッケージレベルの依存関係を出力します。
  97 .RE
  98 .PP
  99 \-verbose:class
 100 .RS 4
 101 同じアーカイブ内の依存関係を除き、クラスレベルの依存関係を出力します。
 102 .RE
 103 .PP
 104 \-cp <\fIpath\fR>, \-classpath <\fIpath\fR>
 105 .RS 4
 106 クラス・ファイルの検索場所を指定します。
 107 .sp
 108 Setting the Class Path も参照してください。
 109 .RE
 110 .PP
 111 \-p <\fIpkg name\fR>, \-package <\fIpkg name\fR>
 112 .RS 4
 113 指定したパッケージの依存関係を検出します。異なるパッケージに対してこのオプションを複数回指定できます。\fI\-p\fRオプションと\fI\-e\fRオプションを同時に指定することはできません。
 114 .RE
 115 .PP
 116 \-e <\fIregex\fR>, \-regex <\fIregex\fR>
 117 .RS 4
 118 指定した正規表現パターンと一致するパッケージの依存関係を検出します。\fI\-p\fRオプションと\fI\-e\fRオプションを同時に指定することはできません。
 119 .RE
 120 .PP
 121 \-include <\fIregex\fR>
 122 .RS 4
 123 分析をパターンに一致するクラスに制限します。このオプションは、分析するクラスのリストをフィルタします。依存関係にパターンを適用する\fI\-p\fRおよび\fI\-e\fRとともに使用できます。
 124 .RE
 125 .PP
 126 \-jdkinternals
 127 .RS 4
 128 JDKの内部APIのクラスレベルの依存関係を検出します。デフォルトでは、\fI\-include\fRオプションを指定しないかぎり、\fI\-classpath\fRオプションおよび入力ファイルに指定されたすべてのクラスを分析します。このオプションは、\fI\-p\fRオプション、\fI\-e\fRオプションおよび\fI\-s\fRオプションとともに使用できません。
 129 .sp
 130 \fB警告\fR: JDKの内部APIは、今後のリリースでアクセスできなくなる可能性があります。
 131 .RE
 132 .PP
 133 \-P, \-profile
 134 .RS 4
 135 パッケージを含むプロファイルまたはファイルを表示します。
 136 .RE
 137 .PP
 138 \-apionly
 139 .RS 4
 140 フィールド・タイプ、メソッド・パラメータ・タイプ、戻りタイプ、チェックされた例外タイプを含むパブリック・クラスの\fIpublic\fRおよび\fIprotected\fRメンバーの署名からの依存関係など、分析をAPIに制限します。
 141 .RE
 142 .PP
 143 \-R, \-recursive
 144 .RS 4
 145 すべての依存関係を再帰的に走査します。
 146 .RE
 147 .PP
 148 \-version
 149 .RS 4
 150 バージョン情報を出力します。
 151 .RE
 152 .PP
 153 \-h, \-?, \-help
 154 .RS 4
 155 \fIjdeps\fRに関するヘルプ・メッセージを出力します。
 156 .RE
 157 .SH "例"
 158 .PP
 159 Notepad\&.jarの依存関係の分析。
 160 .sp
 161 .if n \{\
 162 .RS 4
 163 .\}
 164 .nf
 165 $ jdeps demo/jfc/Notepad/Notepad\&.jar
 166  
 167 demo/jfc/Notepad/Notepad\&.jar \-> /usr/java/jre/lib/rt\&.jar
 168    <unnamed> (Notepad\&.jar)
 169       \-> java\&.awt                                           
 170       \-> java\&.awt\&.event                                     
 171       \-> java\&.beans                                         
 172       \-> java\&.io                                            
 173       \-> java\&.lang                                          
 174       \-> java\&.net                                           
 175       \-> java\&.util                                          
 176       \-> java\&.util\&.logging                                  
 177       \-> javax\&.swing                                        
 178       \-> javax\&.swing\&.border                                 
 179       \-> javax\&.swing\&.event                                  
 180       \-> javax\&.swing\&.text                                   
 181       \-> javax\&.swing\&.tree                                   
 182       \-> javax\&.swing\&.undo  
 183 .fi
 184 .if n \{\
 185 .RE
 186 .\}
 187 .PP
 188 \-Pまたは\-profileオプションを使用して、メモ帳が依存するプロファイルを表示します。
 189 .sp
 190 .if n \{\
 191 .RS 4
 192 .\}
 193 .nf
 194 $ jdeps \-profile demo/jfc/Notepad/Notepad\&.jar 
 195 demo/jfc/Notepad/Notepad\&.jar \-> /usr/java/jre/lib/rt\&.jar (Full JRE)
 196    <unnamed> (Notepad\&.jar)
 197       \-> java\&.awt                                           Full JRE
 198       \-> java\&.awt\&.event                                     Full JRE
 199       \-> java\&.beans                                         Full JRE
 200       \-> java\&.io                                            compact1
 201       \-> java\&.lang                                          compact1
 202       \-> java\&.net                                           compact1
 203       \-> java\&.util                                          compact1
 204       \-> java\&.util\&.logging                                  compact1
 205       \-> javax\&.swing                                        Full JRE
 206       \-> javax\&.swing\&.border                                 Full JRE
 207       \-> javax\&.swing\&.event                                  Full JRE
 208       \-> javax\&.swing\&.text                                   Full JRE
 209       \-> javax\&.swing\&.tree                                   Full JRE
 210       \-> javax\&.swing\&.undo                                   Full JRE
 211 .fi
 212 .if n \{\
 213 .RE
 214 .\}
 215 .PP
 216 tools\&.jarファイル内の\fIcom\&.sun\&.tools\&.jdeps\&.Main\fRクラスなど、特定のクラスパス内の特定のクラスの直接依存関係の分析。
 217 .sp
 218 .if n \{\
 219 .RS 4
 220 .\}
 221 .nf
 222 $ jdeps \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main
 223 lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar
 224    com\&.sun\&.tools\&.jdeps (tools\&.jar)
 225       \-> java\&.io                                            
 226       \-> java\&.lang 
 227 .fi
 228 .if n \{\
 229 .RE
 230 .\}
 231 .PP
 232 \fI\-verbose:class\fRオプションを使用して、クラスレベル依存関係を検索するか\fI\-v\fRまたは\fI\-verbose\fRオプションを使用して同じJARファイルからの依存関係を含めます。
 233 .sp
 234 .if n \{\
 235 .RS 4
 236 .\}
 237 .nf
 238 $ jdeps \-verbose:class \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main
 239  
 240 lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar
 241    com\&.sun\&.tools\&.jdeps\&.Main (tools\&.jar)
 242       \-> java\&.io\&.PrintWriter                                
 243       \-> java\&.lang\&.Exception                                
 244       \-> java\&.lang\&.Object                                   
 245       \-> java\&.lang\&.String                                   
 246       \-> java\&.lang\&.System 
 247 .fi
 248 .if n \{\
 249 .RE
 250 .\}
 251 .PP
 252 \fI\-R\fRまたは\fI\-recursive\fRオプションを使用して、\fIcom\&.sun\&.tools\&.jdeps\&.Main\fRクラスの推移的な依存関係を分析します。
 253 .sp
 254 .if n \{\
 255 .RS 4
 256 .\}
 257 .nf
 258 $ jdeps \-R \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main
 259 lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar
 260    com\&.sun\&.tools\&.classfile (tools\&.jar)
 261       \-> java\&.io                                            
 262       \-> java\&.lang                                          
 263       \-> java\&.lang\&.reflect                                  
 264       \-> java\&.nio\&.charset                                   
 265       \-> java\&.nio\&.file                                      
 266       \-> java\&.util                                          
 267       \-> java\&.util\&.regex                                    
 268    com\&.sun\&.tools\&.jdeps (tools\&.jar)
 269       \-> java\&.io                                            
 270       \-> java\&.lang                                          
 271       \-> java\&.nio\&.file                                      
 272       \-> java\&.nio\&.file\&.attribute                            
 273       \-> java\&.text                                          
 274       \-> java\&.util                                          
 275       \-> java\&.util\&.jar                                      
 276       \-> java\&.util\&.regex                                    
 277       \-> java\&.util\&.zip                                      
 278 /usr/java/jre/lib/jce\&.jar \-> /usr/java/jre/lib/rt\&.jar
 279    javax\&.crypto (jce\&.jar)
 280       \-> java\&.io                                            
 281       \-> java\&.lang                                          
 282       \-> java\&.lang\&.reflect                                  
 283       \-> java\&.net                                           
 284       \-> java\&.nio                                           
 285       \-> java\&.security                                      
 286       \-> java\&.security\&.cert                                 
 287       \-> java\&.security\&.spec                                 
 288       \-> java\&.util                                          
 289       \-> java\&.util\&.concurrent                               
 290       \-> java\&.util\&.jar                                      
 291       \-> java\&.util\&.regex                                    
 292       \-> java\&.util\&.zip                                      
 293       \-> javax\&.security\&.auth                                
 294       \-> sun\&.security\&.jca                                   JDK internal API (rt\&.jar)
 295       \-> sun\&.security\&.util                                  JDK internal API (rt\&.jar)
 296    javax\&.crypto\&.spec (jce\&.jar)
 297       \-> java\&.lang                                          
 298       \-> java\&.security\&.spec                                 
 299       \-> java\&.util                                          
 300 /usr/java/jre/lib/rt\&.jar \-> /usr/java/jre/lib/jce\&.jar
 301    java\&.security (rt\&.jar)
 302       \-> javax\&.crypto
 303 .fi
 304 .if n \{\
 305 .RE
 306 .\}
 307 .PP
 308 メモ帳デモの依存関係のdotファイルを生成します。
 309 .sp
 310 .if n \{\
 311 .RS 4
 312 .\}
 313 .nf
 314 $ jdeps \-dotoutput dot demo/jfc/Notepad/Notepad\&.jar
 315 .fi
 316 .if n \{\
 317 .RE
 318 .\}
 319 .PP
 320 \fIjdeps\fRは、\fI\-dotoutput\fRオプションで指定されたdotディレクトリに<\fIfilename\fR>\&.dotという名前のdotファイルを特定のJARファイルごとに作成し、JARファイル間の依存関係をリストするsummary\&.dotという名前のサマリー・ファイルも作成します
 321 .sp
 322 .if n \{\
 323 .RS 4
 324 .\}
 325 .nf
 326 $ cat dot/Notepad\&.jar\&.dot 
 327 digraph "Notepad\&.jar" {
 328     // Path: demo/jfc/Notepad/Notepad\&.jar
 329    "<unnamed>"                                        \-> "java\&.awt";
 330    "<unnamed>"                                        \-> "java\&.awt\&.event";
 331    "<unnamed>"                                        \-> "java\&.beans";
 332    "<unnamed>"                                        \-> "java\&.io";
 333    "<unnamed>"                                        \-> "java\&.lang";
 334    "<unnamed>"                                        \-> "java\&.net";
 335    "<unnamed>"                                        \-> "java\&.util";
 336    "<unnamed>"                                        \-> "java\&.util\&.logging";
 337    "<unnamed>"                                        \-> "javax\&.swing";
 338    "<unnamed>"                                        \-> "javax\&.swing\&.border";
 339    "<unnamed>"                                        \-> "javax\&.swing\&.event";
 340    "<unnamed>"                                        \-> "javax\&.swing\&.text";
 341    "<unnamed>"                                        \-> "javax\&.swing\&.tree";
 342    "<unnamed>"                                        \-> "javax\&.swing\&.undo";
 343 }
 344  
 345 $ cat dot/summary\&.dot
 346 digraph "summary" {
 347    "Notepad\&.jar"                  \-> "rt\&.jar";
 348 }
 349 .fi
 350 .if n \{\
 351 .RE
 352 .\}
 353 .SH "関連項目"
 354 .sp
 355 .RS 4
 356 .ie n \{\
 357 \h'-04'\(bu\h'+03'\c
 358 .\}
 359 .el \{\
 360 .sp -1
 361 .IP \(bu 2.3
 362 .\}
 363 javap(1)
 364 .RE
 365 .br
 366 'pl 8.5i
 367 'bp