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