错误:缺少JavaFX运行时组件,使用Gradle示例运行此应用程序需要这些组件
我知道这已经被问了很多次了。。。但我似乎找不到解决办法 摘自本官方指南示例: 我继续在我的构建中添加。gradle:错误:缺少JavaFX运行时组件,使用Gradle示例运行此应用程序需要这些组件,gradle,javafx,Gradle,Javafx,我知道这已经被问了很多次了。。。但我似乎找不到解决办法 摘自本官方指南示例: 我继续在我的构建中添加。gradle: plugins { id 'application' id 'org.openjfx.javafxplugin' version '0.0.8' } javafx { version = '13' modules = ['javafx.controls'] } repositories { mavenCentral() } mainC
plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.8'
}
javafx {
version = '13'
modules = ['javafx.controls']
}
repositories {
mavenCentral()
}
mainClassName = "MyImage"
jar {
manifest {
attributes "Main-Class": "$mainClassName"
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
通过运行gradle jar(或gradle build),实际上应该生成一个jar,其中应该包含它构建它所用的所有包,即整个javafx库
但是,当它成功构建并继续运行时:
java-jarbuild/libs/MyImage.jar
它仍然抛出错误:
错误:缺少JavaFX运行时组件,运行此应用程序需要这些组件
我错过了什么
(我使用JDK 11)
非常感谢。在Java 11中,Java启动器检测到您正在扩展javafx.application.application,并检查模块是否存在。如果您使用的是普通的旧罐子,那么您将得到错误
Error: JavaFX runtime components are missing, and are required to run this application
你有两个选择。设置应用程序以使用Java模块系统或以下解决方法
这种解决方法避免了Java启动程序检查,并允许应用程序运行
public class MyImage { // <=== note - does not extend Application
public static class YourRealApplication extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// whatever...
}
}
public static void main(String[] args) {
Application.launch(YourRealApplication.class);
}
}
public class MyImage{//在Java 11中,Java启动器检测到您正在扩展javafx.application.application并检查模块是否存在。如果您使用的是普通的旧JAR,则会出现错误
Error: JavaFX runtime components are missing, and are required to run this application
您有两种选择。将应用程序设置为使用Java模块系统或以下解决方法
这种解决方法避免了Java启动程序检查,并允许应用程序运行
public class MyImage { // <=== note - does not extend Application
public static class YourRealApplication extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// whatever...
}
}
public static void main(String[] args) {
Application.launch(YourRealApplication.class);
}
}
公共类MyImage{//