Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9のJdepsツールとJdeprscanツールの違いは?


Jdeps ツールを使用して、依存関係を分析することができます。 私たちのクラスの。 「jdeps-jdkinternalsjararchive.jarの実行 "コマンドは、Java内部APIを使用するすべてのクラスのリストを出力します。Jdepsツールは、 Jdeprscan の間に、依存関係の詳細な説明を返します。 は、特に「-for-remova」と組み合わせて使用​​されるもう1つの便利なツールです。 l "フラグ。このツールは、非推奨のAPIのすべての使用法を示します。 特定のjarアーカイブによって、jdkメソッドの非推奨の使用のみを表示でき、このツールを使用してサードパーティのjarの非推奨を確認することはできません。 。

Jdepsツール:

  • " jdeps "は、パッケージレベルおよびクラスレベルの依存関係に使用できるクラス依存関係アナライザーツールです。
  • " jdeps class_file "コマンドは、指定されたクラスファイルのパッケージレベルの依存関係を出力します。
  • "j deps -verbose "コマンドはクラスレベルの依存関係を出力します。
  • " jdeps jar_file "コマンドは、指定されたjarファイルのパッケージレベルの依存関係を出力します。
  • " jdeps --inverse --require module_name "コマンドは、指定されたJavaモジュールのパッケージレベルの逆依存関係を出力します。

以下では、「 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 "は、非推奨のAPI要素をスキャンするために使用できるJava非推奨のAPIスキャナーツールです。
  • " jdeprscan class_fil e "コマンドは、指定されたjJavaクラスファイルの非推奨のAPIをスキャンします。
  • " jdeprscan jar_fil e "コマンドは、指定されたjarファイルの非推奨のAPIをスキャンします。
  • " jdeprscan --release X 「コマンドは、特定のJDKリリースの非推奨のAPIをスキャンします。
  • " jdeprscan --list --release X "コマンドは、特定のJDKリリースのすべての非推奨APIを一覧表示します。

以下では、「 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.

  1. JavaのJTextFieldとJFormattedTextFieldの違いは何ですか?

    JTextField JFormattedTextField に対して、プレーンテキストには使用できます JTextFieldを拡張できるクラスです また、電話番号、電子メール、日付を含むテキストに任意の形式を設定するために使用できます。 など JTextField JTextFeld は、ユーザーが入力テキスト値を1行の形式で入力できるようにする最も重要なコンポーネントの1つです。 JTextField ActionListenerを生成できます テキストフィールド内に入力を入力しようとすると、 CaretListenerが生成される可能性があります。 カレット(つ

  2. JavaのJScrollBarとJScrollPaneの違いは何ですか?

    JScrollBar コンポーネントです JScrollPane に対して、独自のイベントは処理しません。 コンテナです 独自のイベントを処理し、独自のスクロールを実行します。 JScrollBar JScrollPaneを持つことはできません 一方、 JScrollPane JScrollBarを持つことができます 。 JScrollBar JScrollBarのオブジェクト クラスは水平を追加するために使用されます および垂直 スクロールバー これにより、ユーザーは指定された最小値と最大値の間でアイテムを選択できます。 JScrollBar クラスはスクロール