使用 -jdkinternals 时没有 jdeps 输出

Thu*_*rge 4 java jdeps

我正在尝试使用Java Dependency Analysis Tool (jdeps)。首先,我尝试在没有参数的情况下这样做:

jdeps myJar.jar
Run Code Online (Sandbox Code Playgroud)

它列出了它使用的依赖项。到现在为止还挺好。

org.example (myJar.jar)
   -> java.io
   -> java.lang
   -> java.text
   -> java.util
   [...]
Run Code Online (Sandbox Code Playgroud)

然而,使用的最大原因jdeps是检测在 Java 9 中无法访问的sun.*包(例如包)的依赖关系。所以我尝试使用-jdkinternals标志来检查这些不兼容性。因此我的命令是:

jdeps -jdkinternals myJar.jar
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时没有输出。这是否意味着它无法运行?我错过了什么?

Thu*_*rge 5

这意味着 jar 不使用任何 JDK 内部包

运行jdeps -jdkinternals没有输出意味着jdeps没有找到任何JDK内部包。您可以通过jdeps不运行-jdkinternals并查看所有依赖包列表来验证这一点。它们都不会是内部的。

打印“Found no JDK internal dependencies”以防止发生这样的混淆可能会更好。尽管如此,要知道没有输出意味着没有什么可担心的,所以庆祝当您使用 Java 9 时不会遇到任何问题的事实(无论如何,出于这个原因)。