我正在尝试使用Java Dependency Analysis Tool (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
但是,运行此命令时没有输出。这是否意味着它无法运行?我想念什么?
最佳答案
这意味着jar不使用任何JDK内部软件包
运行jdeps -jdkinternals
并且没有输出意味着jdeps
找不到任何JDK内部软件包。您可以通过运行不带jdeps
的-jdkinternals
并查看所有依赖包列表来验证这一点。它们都不是内部的。
打印“发现没有JDK内部依赖项”以防止发生此类混淆可能会更好。尽管如此,要知道没有输出意味着没有什么可担心的,所以请庆祝一个事实,即使用Java 9时不会有任何问题(无论如何,出于这个原因)。