首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当试图解决OpenJFX jmods时jdeps命令失败

当试图解决OpenJFX jmods时jdeps命令失败
EN

Stack Overflow用户
提问于 2019-02-19 20:01:44
回答 1查看 1.2K关注 0票数 3

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

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

代码语言:javascript
复制
jdeps --module-path Y:\javafx-jmods-11.0.2 --add-modules javafx.base Test.jar

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

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

代码语言:javascript
复制
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 11.0.2中的javafx.base模块?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-19 22:00:05

通常,当您收到错误时:

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

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

正如您在在JDK 11上运行javafx示例在模块路径上使用OpenJFX 11 JMODS的答案中所看到的

如这里所解释的:http://openjdk.java.net/jeps/261#Packaging:-JMOD-files: JMOD文件可以在编译时和链接时使用,但不能在运行时使用。要在运行时支持它们,一般情况下,我们需要随时提取和链接本地代码库。

什么意味着你不能结合使用jmods和jdeps。

溶液

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

代码语言:javascript
复制
jdeps --module-path Y:\javafx-sdk-11.0.2\lib --add-modules javafx.base Test.jar
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54774072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档