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并查看所有依赖包列表来验证这一点。它们都不会是内部的。

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

于 2016-09-15T18:34:39.770 回答