我正在尝试从日食产品定义中启动应用程序。 我已经将产品与其定义的插件同步,并且在“目录”中单击了“所有必需的插件”。
堆栈跟踪说明了一切。当然包装是正确的。
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库是从专门为此目的创建的插件中导出的,它当然是主插件的依赖项。
答案 0 :(得分:0)
将库从依赖项插件移到主插件中很有帮助。我的假设是依赖包中没有可用的主类。