扫描 Spring Boot .jar 文件时在 Java 11 jdeps 工具上获取 NPE

Getting a NPE on Java 11 jdeps tool when scanning Spring Boot .jar files

当我试图在我的自定义 JRE 中找到 link 所需的 Java 模块时,我从 jdeps 工具中得到了一个 NPE:

marc$ jdeps --module-path $JAVA_HOME/jmods --print-module-deps --multi-release 11 target/blha/jx1-0.0.1-SNAPSHOT/BOOT-INF/lib/*.jar
Exception in thread "main" java.lang.NullPointerException
    at jdk.jdeps/com.sun.tools.jdeps.ModuleGraphBuilder.requiresTransitive(ModuleGraphBuilder.java:124)
    at jdk.jdeps/com.sun.tools.jdeps.ModuleGraphBuilder.buildGraph(ModuleGraphBuilder.java:110)
    at jdk.jdeps/com.sun.tools.jdeps.ModuleGraphBuilder.reduced(ModuleGraphBuilder.java:65)
    at jdk.jdeps/com.sun.tools.jdeps.ModuleExportsAnalyzer.modules(ModuleExportsAnalyzer.java:124)
    at jdk.jdeps/com.sun.tools.jdeps.ModuleExportsAnalyzer.run(ModuleExportsAnalyzer.java:97)
    at jdk.jdeps/com.sun.tools.jdeps.JdepsTask$ListModuleDeps.run(JdepsTask.java:1023)
    at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:560)
    at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:519)
    at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49)

知道如何找到我需要的所有模块 link 到此 Spring 引导项目的自定义 JRE 吗?

您很可能受到 [JDK-8211887] jdeps throws NPE when analyzing javafx.media that references a non-existent class used to be in JDK 的影响,您与 ModuleGraphBuilder.java:124 处的 NPE 具有相同的堆栈跟踪。

此问题已在 Java 12 中解决,Java 11 的建议解决方法是使用 --ignore-missing-deps 选项。我没有看到向后移植 Java 11 :(