>  기사  >  Java  >  Java 9에서 Jdeps와 Jdeprscan 도구의 차이점은 무엇입니까?

Java 9에서 Jdeps와 Jdeprscan 도구의 차이점은 무엇입니까?

WBOY
WBOY앞으로
2023-09-16 15:21:031079검색

Java 9中Jdeps和Jdeprscan工具之间的区别是什么?

Jdeps 도구를 사용하여 클래스의 종속성을 분석할 수 있습니다. "jdeps -jdkinternals jararchive.jar" 명령을 실행하면 Java 내부 API를 사용하는 모든 클래스 목록이 인쇄됩니다. Jdeps 도구는 종속성에 대한 자세한 설명을 반환하는 반면, Jdeprscan은 특히 "-for-removal" 플래그와 함께 사용하는 또 다른 유용한 도구입니다. 이 도구는 특정 jar 아카이브에 대한 지원 중단된 API의 모든 사용을 보여주며 지원 중단된 jdk 메서드 사용만 표시할 수 있으며 타사 jar의 지원 중단은 이 도구를 사용하여 확인할 수 없습니다 .

Jdeps 도구:

  • " jdeps"는 패키지 수준 및 클래스 수준 종속성에 사용할 수 있는 클래스 종속성 분석 도구입니다.
  • "jdeps class_file" 명령은 특정 클래스 파일의 패키지 수준 종속성을 인쇄합니다.
  • "jdeps" -verbose" 명령은 클래스 수준 종속성을 인쇄합니다.
  • "jdeps jar_file" 명령은 지정된 jar 파일에 대한 패키지 수준 종속성을 인쇄합니다.
  • "jdeps --inverse -- require module_name " 명령은 특정 Java 모듈에 대한 패키지 수준 역 종속성을 인쇄합니다.

아래에서는 "jdeps --help" 명령을 사용하여 옵션의 전체 목록을 볼 수 있습니다.

<strong>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</strong>

jdeprscan 도구:

  • " jdeprscan"은 더 이상 사용되지 않는 API 요소를 검색하는 데 사용할 수 있는 Java 더 이상 사용되지 않는 API 스캐너 도구입니다. li>
  • "jdeprscan class_file" 명령은 더 이상 사용되지 않는 API에 대해 지정된 jJava 클래스 파일을 검색합니다.
  • e" 명령은 지정된 jar 파일에서 더 이상 사용되지 않는 API를 검색합니다.
  • "jdeprscan --release "

위 내용은 Java 9에서 Jdeps와 Jdeprscan 도구의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제