【问题标题】:javafx 11 does not find the main class from which it was called fromjavafx 11 找不到调用它的主类
【发布时间】:2019-04-13 11:24:37
【问题描述】:

我正在尝试从 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】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      • 2019-05-06
      • 1970-01-01
      • 2020-08-03
      • 2013-11-02
      • 2019-04-18
      • 1970-01-01
      相关资源
      最近更新 更多