Jdeps สามารถใช้เครื่องมือ วิเคราะห์การขึ้นต่อกัน ของชั้นเรียนของเรา การทำงานของ "jdeps -jdkinternals jararchive.jar " คำสั่งพิมพ์รายการของคลาสทั้งหมดที่ใช้ Java ภายใน API เครื่องมือ Jdeps ส่งคืนคำอธิบายโดยละเอียดของการพึ่งพาในขณะที่ Jdeprscan เป็นเครื่องมือที่มีประโยชน์อีกอย่างหนึ่งโดยเฉพาะอย่างยิ่งใช้ร่วมกับ "-for-remov l" flag เครื่องมือนี้แสดงให้เราเห็นการใช้งานทั้งหมดของ API ที่เลิกใช้แล้ว โดยไฟล์เก็บถาวร jar ที่กำหนด และเฉพาะการใช้เมธอด jdk ที่เลิกใช้งานแล้วเท่านั้นที่สามารถแสดงได้ และไม่สามารถใช้เครื่องมือนี้เพื่อตรวจสอบการเลิกใช้งานใน โถของบุคคลที่สาม .
เครื่องมือ Jdeps:
- "jdeps " เป็นเครื่องมือวิเคราะห์การพึ่งพาคลาสที่ใช้สำหรับการพึ่งพาระดับแพ็คเกจและระดับคลาสได้
- "jdeps class_file " คำสั่งพิมพ์การพึ่งพาระดับแพ็กเกจของไฟล์คลาสที่กำหนด
- "jdeps -verbose " คำสั่งพิมพ์การพึ่งพาระดับคลาส
- "jdeps jar_file " คำสั่งพิมพ์การพึ่งพาระดับแพ็กเกจของไฟล์ jar ที่กำหนด
- "jdeps --inverse --require module_name " คำสั่งพิมพ์การพึ่งพาย้อนกลับระดับแพ็กเกจของโมดูลจาวาที่กำหนด
ด้านล่าง เราสามารถใช้ "jdeps --help " เพื่อดูรายการตัวเลือกทั้งหมด
C:\Users\user>jdeps --help Usage: jdeps <options> <path ...>] <path> can be a pathname to a .class file, a directory, a JAR file. Possible options include: -dotoutput <dir> --dot-output <dir> Destination directory for DOT file output -s -summary Print dependency summary only. -v -verbose Print all class level dependences Equivalent to -verbose:class -filter:none. -verbose:package Print package-level dependences excluding dependences within the same package by default -verbose:class Print class-level dependences excluding dependences within the same package by default -apionly --api-only Restrict analysis to APIs i.e. dependences from the signature of public and protected members of public classes including field type, method parameter types, returned type, checked exception types etc. -jdkinternals --jdk-internals Finds class-level dependences on JDK internal APIs. By default, it analyzes all classes on --class-path and input files unless -include option is specified. This option cannot be used with -p, -e and -s options. WARNING: JDK internal APIs are inaccessible. --check <module-name>[,<module-name>... Analyze the dependence of the specified modules It prints the module descriptor, the resulting module dependences after analysis and the graph after transition reduction. It also identifies any unused qualified exports. --generate-module-info <dir> Generate module-info.java under the specified directory. The specified JAR files will be analyzed. This option cannot be used with --dot-output or --class-path. Use --generate-open-module option for open modules. --generate-open-module <dir> Generate module-info.java for the specified JAR files under the specified directory as open modules. This option cannot be used with --dot-output or --class-path. --list-deps Lists the dependences and use of JDK internal APIs. --list-reduced-deps Same as --list-deps with not listing the implied reads edges from the module graph If module M1 depends on M2 and M3, M2 requires public on M3, then M1 reading M3 is implied and removed from the module graph. -cp <path> -classpath <path> --class-path <path> Specify where to find class files --module-path <module path> Specify module path --upgrade-module-path <module path> Specify upgrade module path --system <java-home> Specify an alternate system module path --add-modules <module-name>[,<module-name>...] Adds modules to the root set for analysis -m <module-name> --module <module-name> Specify the root module for analysis --multi-release <version> Specifies the version when processing multi-release jar files. should be integer >= 9 or base. Options to filter dependences: -p <pkg> -package <pkg> --package <pkg> Finds dependences matching the given package name (may be given multiple times). -e <regex> -regex <regex> --regex <regex> Finds dependences matching the given pattern. --require <module-name> Finds dependences matching the given module name (may be given multiple times). --package, --regex, --require are mutual exclusive. -f <regex> -filter <regex> Filter dependences matching the given pattern. If given multiple times, the last one will be used. -filter:package Filter dependences within the same package. This is the default. -filter:archive Filter dependences within the same archive. -filter:module Filter dependences within the same module. -filter:none No -filter:package and -filter:archive filtering. Filtering specified via the -filter option still applies. Options to filter classes to be analyzed: -include <regex> Restrict analysis to classes matching pattern This option filters the list of classes to be analyzed. It can be used together with -p and -e which apply pattern to the dependences -P -profile Show profile containing a package -R -recursive Recursively traverse all run-time dependences. The -R option implies -filter:none. If -p, -e, -f option is specified, only the matching dependences are analyzed. -I --inverse Analyzes the dependences per other given options and then find all artifacts that directly and indirectly depend on the matching nodes. This is equivalent to the inverse of compile-time view analysis and print dependency summary. This option must use with --require, --package or --regex option. --compile-time Compile-time view of transitive dependences i.e. compile-time view of -R option. Analyzes the dependences per other given options If a dependence is found from a directory, a JAR file or a module, all c*lasses in that containing archive are analyzed. -q - quiet Do not show missing dependences from --generate-module-info output. -version --version Version information
เครื่องมือ jdeprscan:
- "jdeprscan " เป็นเครื่องมือสแกนเนอร์ Java Deprecated API Scanner ที่ใช้สแกนองค์ประกอบ API ที่เลิกใช้แล้วได้
- "jdeprscan class_fil คำสั่ง e" จะสแกนหา API ที่เลิกใช้แล้วของไฟล์คลาส jJava ที่กำหนด
- "jdeprscan jar_fil คำสั่ง e" จะสแกนหา API ที่เลิกใช้แล้วของไฟล์ jar ที่กำหนด
- "jdeprscan --release X " คำสั่งสแกนหา API ที่เลิกใช้แล้วของ JDK รุ่นใดรุ่นหนึ่ง
- "jdeprscan --list --release X " คำสั่งแสดงรายการ API ที่เลิกใช้แล้วทั้งหมดของ JDK รุ่นเฉพาะ
ด้านล่าง เราสามารถใช้คำสั่ง "jdeprscan --hel p " เพื่อดูรายการตัวเลือกทั้งหมด
C:\Users\User>jdeprscan --help Usage: jdeprscan [options] {dir|jar|class} ... options: --class-path PATH --for-removal --full-version -h --help -l --list --release 6|7|8|9 -v --verbose --version Scans each argument for usages of deprecated APIs. An argument may be a directory specifying the root of a package hierarchy, a JAR file, a class file, or a class name. The class name must be specified using a fully qualified class name using the $ separator character for nested classes, for example, java.lang.Thread$State The --class-path option provides a search path for resolution of dependent classes. The --for-removal option limits scanning or listing to APIs that are deprecated for removal. Cannot be used with a release value of 6, 7, or 8. The --full-version option prints out the full version string of the tool. The --help option prints out a full help message. The --list (-l) option prints out the set of deprecated APIs. No scanning is done, so no directory, jar, or class arguments should be provided. The --release option specifies the Java SE release that provides the set of deprecated APIs for scanning. The --verbose (-v) option enables additional message output during processing. The --version option prints out the abbreviated version string of the tool.