[英]Showing JDK modules' dependencies
可以通過java --list-modules
查看所有 JDK 模塊,但是是否可以通過mvn dependency:tree
命令查看 JDK 模塊依賴樹?
[INFO] [dependency:tree]
[INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT
[INFO] +- org.apache.maven.reporting:maven-reporting-impl:jar:2.0.4:compile
[INFO] | \- commons-validator:commons-validator:jar:1.2.0:compile
[INFO] | \- commons-digester:commons-digester:jar:1.6:compile
[INFO] | \- (commons-collections:commons-collections:jar:2.1:compile - omitted for conflict with 2.0)
[INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile
[INFO] \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile
[INFO] \- commons-collections:commons-collections:jar:2.0:compile
您可以使用jdeps ,例如:
jdeps --list-deps c:\path\to\your\jar
這將列出模塊依賴關系以及 JDK 內部 API 的 package 名稱(如果引用)。
例如:
jdeps --list-deps c:\jdk-11.0.2\lib\jrt-fs.jar
輸出:
Warning: split package: jdk.internal.jimage jrt:/java.base c:\jdk-11.0.2\lib\jrt-fs.jar
Warning: split package: jdk.internal.jimage.decompressor jrt:/java.base c:\jdk-11.0.2\lib\jrt-fs.jar
Warning: split package: jdk.internal.jrtfs jrt:/java.base c:\jdk-11.0.2\lib\jrt-fs.jar
java.base
您可以使用模塊 API 生成圖表。 一個示例是使用以下代碼,例如在 JShell 中
import java.lang.module.*
ModuleFinder.ofSystem()
.findAll()
.stream()
.map(ModuleReference::descriptor())
.forEach(x -> System.out.println(x.name() + "\n\t" +
Arrays.deepToString(x.requires().toArray())))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.