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