4

Java 依存関係分析ツール (jdeps)を使用しようとしています。最初に、次のように引数なしでそれを実行しようとしました:

jdeps myJar.jar

使用する依存関係を一覧表示します。ここまでは順調ですね。

org.example (myJar.jar)
   -> java.io
   -> java.lang
   -> java.text
   -> java.util
   [...]

ただし、使用する最大の理由jdepsは、Java 9 でアクセスできないパッケージ (sun.*パッケージなど) への依存関係を検出することです。そこで-jdkinternals、これらの非互換性をチェックするフラグを使用しようとしました。したがって、私のコマンドは次のとおりです。

jdeps -jdkinternals myJar.jar

ただし、これを実行しても出力はありません。これは、実行に失敗したということですか? 私は何が欠けていますか?

4

1 に答える 1

5

これは、jar が JDK 内部パッケージを使用しないことを意味します。

実行jdeps -jdkinternalsしても何も出力されないということjdepsは、JDK 内部パッケージが見つからなかったことを意味します。これは、実行jdepsせずに実行-jdkinternalsし、依存関係パッケージのすべてのリストを確認することで確認できます。それらのどれも内部のものではありません。

このような混乱が起こらないようにするには、「JDK 内部依存関係が見つかりません」と出力する方がよいでしょう。それでも、出力がないということは何も心配する必要がないことを意味するので、Java 9 を使用するときに問題が発生しないという事実を祝いましょう (とにかくこの理由で)。

于 2016-09-15T18:34:39.770 に答える