javafx 11找不到调用它的主类

问题描述 投票:0回答:1

我正在尝试从eclipse产品定义启动应用程序。我已经将产品与其定义插件同步,并在“内容”中点击“所有必需的插件”。

堆栈跟踪告诉所有。当然包装是正确的。

java.lang.RuntimeException: java.lang.ClassNotFoundException: org.rulez.demokracia.zenta3.editor.ZentaApplication
    at javafx.application.Application.launch(Application.java:304)
    at org.rulez.demokracia.zenta3.editor.ZentaApplication.run(ZentaApplication.java:41)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:592)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:205)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1476)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1449)
Caused by: java.lang.ClassNotFoundException: org.rulez.demokracia.zenta3.editor.ZentaApplication
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    at org.eclipse.osgi.internal.framework.ContextFinder.loadClass(ContextFinder.java:135)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:374)
    at javafx.application.Application.launch(Application.java:292)
    ... 19 more

ZentaApplication类是公共的,所有插件都是从所有插件中导出的。产品文件与类位于同一项目中。

Javafx库是从专门为此目的创建的插件导出的,它当然是主插件的依赖项。

eclipse-plugin classloader javafx-11
1个回答
0
投票

将库从依赖插件移动到主插件中有所帮助。我的假设是依赖包中没有主类。

© www.soinside.com 2019 - 2024. All rights reserved.