1 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
我能夠使用jdeps完成這項(xiàng)工作。用法非常簡(jiǎn)單:
jdeps?<options>?<classes...>
其中<classes>
可以是 .class 文件、目錄、JAR 文件或完全限定類(lèi)名的路徑名。
我發(fā)現(xiàn)一些對(duì)我的案例有用的選項(xiàng):
-verbose:class
:默認(rèn)打印類(lèi)級(jí)別的依賴(lài)關(guān)系,不包括同一包內(nèi)的依賴(lài)關(guān)系。-classpath <path>
:指定在哪里查找類(lèi)文件。-package <pkgname>
:查找與給定包名稱(chēng)匹配的依賴(lài)項(xiàng)(可以多次給出)-regex <regex>
:查找與給定模式匹配的依賴(lài)項(xiàng)-filter <regex>
:過(guò)濾與給定模式匹配的依賴(lài)項(xiàng)。如果多次給出,將使用最后一個(gè)。-filter:package
:過(guò)濾同一個(gè)包內(nèi)的依賴(lài)關(guān)系(默認(rèn))-filter:archive
:過(guò)濾同一檔案內(nèi)的依賴(lài)關(guān)系-filter:none
: 沒(méi)有-filter:package
和-filter:archive
過(guò)濾。通過(guò) -filter 選項(xiàng)指定的過(guò)濾仍然適用。-include <regex>
:將分析限制為匹配模式的類(lèi)。此選項(xiàng)過(guò)濾要分析的類(lèi)的列表。-recursive
:遞歸遍歷所有依賴(lài)關(guān)系。
包的用法示例com.abc.xyz.ui
:
jdeps.exe?-filter:archive?-classpath?<project_classpath>?com\abc\xyz\ui\
<project_classpath>
項(xiàng)目的類(lèi)路徑在哪里。
輸出:
com.abc.xyz.ui (ui)
? ?-> com.itextpdf.text? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? itextpdf-5.5.12.jar
? ?-> org.apache.commons.io? ? ? ? ? ? ? ? ? ? ? ? ? ? ? commons-io-2.6.jar
? ?-> org.apache.commons.lang3.time? ? ? ? ? ? ? ? ? ? ? commons-lang3-3.8.1.jar
? ?-> org.apache.commons.text? ? ? ? ? ? ? ? ? ? ? ? ? ? commons-text-1.6.jar
? ?-> org.controlsfx.control? ? ? ? ? ? ? ? ? ? ? ? ? ? ?controlsfx-8.40.15.jar
? ?-> java.io
? ?-> java.lang
? ?-> java.net
? ?-> java.util
我使用-filter ^java\..*選項(xiàng)排除 Java 運(yùn)行時(shí)類(lèi):
jdeps.exe -filter:archive -filter ^java\..* -classpath <project_classpath> com\abc\xyz\ui\
輸出:
com.abc.xyz.ui (ui)
? ?-> com.itextpdf.text? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? itextpdf-5.5.12.jar
? ?-> org.apache.commons.io? ? ? ? ? ? ? ? ? ? ? ? ? ? ? commons-io-2.6.jar
? ?-> org.apache.commons.lang3.time? ? ? ? ? ? ? ? ? ? ? commons-lang3-3.8.1.jar
? ?-> org.apache.commons.text? ? ? ? ? ? ? ? ? ? ? ? ? ? commons-text-1.6.jar
? ?-> org.controlsfx.control? ? ? ? ? ? ? ? ? ? ? ? ? ? ?controlsfx-8.40.15.jar
添加回答
舉報(bào)