Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JVM选项中,有没有一种方法可以将模块路径寻址到runnable jar包中的模块?_Java_Gradle_Javafx_Jar_Runtime - Fatal编程技术网

Java 在JVM选项中,有没有一种方法可以将模块路径寻址到runnable jar包中的模块?

Java 在JVM选项中,有没有一种方法可以将模块路径寻址到runnable jar包中的模块?,java,gradle,javafx,jar,runtime,Java,Gradle,Javafx,Jar,Runtime,1-我创建了一个jar包,其中包含我的模块和javafx模块 在运行jar时,如何在JVM选项中寻址jar包中javafx模块的模块路径,而不是外部javafx库? 2-我在我的项目中也使用了gradle,有没有办法通过build.gradle文件创建一个包含javafx模块的jar,而不在项目结构中创建工件? 上面的JDK 9和上面的gradle 5您是在尝试将自己的模块信息与添加到jar中的javafx类的模块信息合并,还是在尝试引用jar文件中的javafx swt.jar条目?我想将j

1-我创建了一个jar包,其中包含我的模块和javafx模块 在运行jar时,如何在JVM选项中寻址jar包中javafx模块的模块路径,而不是外部javafx库?

2-我在我的项目中也使用了gradle,有没有办法通过build.gradle文件创建一个包含javafx模块的jar,而不在项目结构中创建工件?
上面的JDK 9和上面的gradle 5

您是在尝试将自己的模块信息与添加到jar中的javafx类的模块信息合并,还是在尝试引用jar文件中的
javafx swt.jar
条目?我想将jar中的javafx模块添加到JVM选项中您似乎已经提取了javafx类(除了
javafxswt.jar
中的类)并将它们放置在应用程序的jar文件中。对于非模块化应用程序,这应该可以工作,可能需要一些修改。然而,据我所知,每个JAR文件只能有一个模块。正如您在图像中看到的,只剩下一个
模块info.class
。这意味着您不能引用JAR文件中嵌入的JavaFX模块,因为JavaFX模块不再存在;所有的JavaFX代码现在都是您模块的一部分。那么,我如何在不引用外部JavaFX库的情况下创建一个可运行的jar呢?我想创建一个可执行的jar,只需单击一下即可执行。不要在JVM选项中按模块路径指定外部库。您可以使应用程序非模块化。只要主类不是
应用程序
的子类,就仍然可以从类路径使用JavaFX模块。更详细地说。不幸的是,不支持可执行的模块化JAR文件。然而,我链接到的答案确实提供了与模块兼容的自包含Java应用程序的选项。应该很快就会出现
jpackage
工具,它甚至允许您创建本机可执行文件。