【问题标题】:jdeps command failing when trying to resolve OpenJFX jmods尝试解析 OpenJFX jmods 时 jdeps 命令失败
【发布时间】:2019-07-13 10:02:55
【问题描述】:

我正在尝试在使用 OpenJFX 的项目上运行 jdeps 命令,但它一直失败。

我正在使用的命令,尽可能简化:

jdeps --module-path Y:\javafx-jmods-11.0.2 --add-modules javafx.base Test.jar

javafx-jmods-11.0.2 是一个包含 OpenJFX jmod 文件的目录。

当我运行这个命令时,我得到了错误:

Exception in thread "main" java.lang.module.FindException: Module javafx.base not found
    at java.base/java.lang.module.Resolver.findFail(Resolver.java:877)
    at java.base/java.lang.module.Resolver.resolve(Resolver.java:128)
    at java.base/java.lang.module.Configuration.resolve(Configuration.java:411)
    at java.base/java.lang.module.Configuration.resolve(Configuration.java:245)
    at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration.<init>(JdepsConfiguration.java:117)
    at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration$Builder.build(JdepsConfiguration.java:563)
    at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.buildConfig(JdepsTask.java:589)
    at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:543)
    at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:519)
    at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49)

对于为什么找不到位于 Y:\javafx-jmods-11.0.2 中的 javafx.base 模块,是否有人有任何想法或建议?

【问题讨论】:

    标签: java java-11 java-platform-module-system openjfx jdeps


    【解决方案1】:

    通常,当您收到错误消息时:

    java.lang.module.FindException:模块...未找到

    这意味着模块路径错误(没有有效路径)或您提供的路径不包含所需的模块。

    正如你在Running javafx sample on JDK 11 with OpenJFX 11 JMODS on Module Path的回答中看到的那样:

    如此处所述:http://openjdk.java.net/jeps/261#Packaging:-JMOD-files:

    JMOD 文件可以在编译时和链接时使用,但不能在运行时使用。通常,要在运行时支持它们,我们需要准备好即时提取和链接本机代码库。

    这意味着你不能将 jmods 与 jdeps 结合使用。

    解决方案

    在这种情况下,解决方案很简单:使用来自 JavaFX SDK 的 jar,而不是 jmod:

    jdeps --module-path Y:\javafx-sdk-11.0.2\lib --add-modules javafx.base Test.jar
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-04
      • 2019-06-22
      • 2018-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-03-18
      • 2020-11-01
      相关资源
      最近更新 更多