【发布时间】:2020-03-13 17:56:42
【问题描述】:
我正在尝试从 java-1.8 迁移到 java-11.. 我遇到了错误“缺少 JavaFX 应用程序类 com.MainApp”,我在网上寻找解决方案并找到了其中的几个:
https://openjfx.io/openjfx-docs/#modular
上面的做法是“新建一个主类,调用扩展应用的类的主方法”
但是,我仍然面临以下问题:
我通过命令行运行它并使用以下命令:
1.Java -jar abc.jar
线程“main”中的异常 java.lang.NoClassDefFoundError: javafx/application/Application 在 java.base/java.lang.ClassLoader.defineClass1(本机方法) 在 java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) 在 java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) 在 java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802) 在 java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700) 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623) 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) 在 com.amx.rms.transporter.tools.config.MainDivert.main(MainDivert.java:7) 引起:java.lang.ClassNotFoundException:javafx.application.Application 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 10 更多
2.java --module-path "C:\Program Files\Java\javafx-sdk-11.0.2\lib" --add-modules=javafx.controls,javafx.fxml,javafx.base ,javafx.media,javafx.web,javafx.swing -jar abc.jar
线程“main”中的异常 java.lang.NoClassDefFoundError: ch/qos/logback/core/Context 在 com.amx.rms.transporter.tools.config.MainDivert.main(MainDivert.java:7) 引起:java.lang.ClassNotFoundException:ch.qos.logback.core.Context 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 1 更多
下面是我的新主类:
public class MainDivert {
public static void main(String[] args) throws Exception {
try {
MainApp.main(args);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
}
不确定我错过了什么?
【问题讨论】:
标签: gradle javafx java-11 openjfx