Community
Participate
Working Groups
PDE seems not to support the start of plug-ins/ RCP applications on Java 11. Example: 1.) Install Java 11 and install Eclipse with it 2.) Ensure Eclipse points to the Java 11 3.) Use Plug-in wizard to create a new Eclipse RCP application using the "Eclipse 4 RCP application" wizard. 4.) Validate application and you see the message: Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-11 Tested with: Eclipse SDK Version: 2018-12 (4.10) Build id: I20181118-1800 OS: Windows 10, v.10.0, x86_64 / win32 Java version: 11.0.1
Vikas, can you please have a look?
Created attachment 276608 [details] JRE11 is perfect match
Created attachment 276609 [details] Error message during start
JavaSE-10 fails for me in the same way. Can you confirm?
(In reply to Alexander Kurtakov from comment #4) > JavaSE-10 fails for me in the same way. Can you confirm? Yes, same for Java 10
Tom, maybe you can help so we can try having it for M3?
Created attachment 276625 [details] There is resolve error from osgi UserState Thomas, can you please tell us what needs to be done to get this fixed?
Just additional information. The issue doesn't happen if BREE is Java 9 which makes it unlikely to me that this is related to modular VM. Also it happens in 4.9 when BREE is 4.10.
So the problem comes from LaunchValidationOperation.getJavaProfileProperties where it tries to load the respective properties file but Equinox doesn't ship such for Java 10/11 thus the failure. Vikas, as it's purely PDE bug how do you propose to handle it?
New Gerrit change created: https://git.eclipse.org/r/132796
(In reply to Eclipse Genie from comment #10) > New Gerrit change created: https://git.eclipse.org/r/132796 Vikas, this should be a fine workaround for now but this whole part of the validation process needs redoing in my opinion.
New Gerrit change created: https://git.eclipse.org/r/132809
Gerrit change https://git.eclipse.org/r/132809 was merged to [master]. Commit: http://git.eclipse.org/c/pde/eclipse.pde.ui.git/commit/?id=66ba1d745bc46ebf73f60ee74113079edcaea918
Vikas, if I use this patch in a runtime Eclipse and create a new Eclipse RCP application with the "Eclispe 4 RCP application" template I get the error below during startup. Does this work for you? !ENTRY org.eclipse.e4.ui.workbench 4 0 2018-11-21 09:04:11.558 !MESSAGE Unable to create class 'org.eclipse.e4.ui.workbench.addons.cleanupaddon.CleanupAddon' from bundle '20' !STACK 0 org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: org/eclipse/e4/ui/workbench/renderers/swt/SashLayout at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:422) at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:347) at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:217) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:111) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:77) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:54) at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:289) at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:153) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) 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:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595) at org.eclipse.equinox.launcher.Main.run(Main.java:1501) at org.eclipse.equinox.launcher.Main.main(Main.java:1474) Caused by: java.lang.NoClassDefFoundError: org/eclipse/e4/ui/workbench/renderers/swt/SashLayout at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3138) at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2358) at org.eclipse.e4.core.internal.di.InjectorImpl.getDeclaredConstructors(InjectorImpl.java:821) at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:382) ... 20 more Caused by: java.lang.ClassNotFoundException: org.eclipse.e4.ui.workbench.renderers.swt.SashLayout cannot be found by org.eclipse.e4.ui.workbench.addons.swt_1.3.300.v20181102-1042 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:424) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:153) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 25 more !ENTRY org.eclipse.e4.ui.workbench 4 0 2018-11-21 09:04:11.614 !MESSAGE Unable to load class 'org.eclipse.e4.ui.workbench.renderers.swt.WorkbenchRendererFactory' from bundle '7' !STACK 0 java.lang.ClassNotFoundException: org.eclipse.e4.ui.workbench.renderers.swt.WorkbenchRendererFactory cannot be found by org.eclipse.e4.ui.workbench.renderers.swt_0.14.400.qualifier at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:424) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:153) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:612) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:106) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:77) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:59) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.initialize(PartRenderingEngine.java:481) 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:566) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:1001) at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139) at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:411) at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:333) at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:193) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:108) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:77) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:59) at org.eclipse.e4.ui.internal.workbench.E4Workbench.instantiateRenderer(E4Workbench.java:169) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:166) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) 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:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595) at org.eclipse.equinox.launcher.Main.run(Main.java:1501) at org.eclipse.equinox.launcher.Main.main(Main.java:1474) !ENTRY org.eclipse.e4.ui.workbench 4 0 2018-11-21 09:04:11.620 !MESSAGE Unable to load class 'org.eclipse.e4.ui.workbench.renderers.swt.WorkbenchRendererFactory' from bundle '7' !STACK 0 java.lang.ClassNotFoundException: org.eclipse.e4.ui.workbench.renderers.swt.WorkbenchRendererFactory cannot be found by org.eclipse.e4.ui.workbench.renderers.swt_0.14.400.qualifier at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:424) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:153) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:612) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:106) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:77) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:59) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.initialize(PartRenderingEngine.java:489) 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:566) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:1001) at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139) at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:411) at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:333) at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:193) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:108) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:77) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:59) at org.eclipse.e4.ui.internal.workbench.E4Workbench.instantiateRenderer(E4Workbench.java:169) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:166) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) 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:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595) at org.eclipse.equinox.launcher.Main.run(Main.java:1501) at org.eclipse.equinox.launcher.Main.main(Main.java:1474) !ENTRY org.eclipse.e4.ui.workbench 4 0 2018-11-21 09:04:11.624 !MESSAGE Unable to create class 'org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine' from bundle '58' !STACK 0 org.eclipse.e4.core.di.InjectionException: java.lang.IllegalStateException: Could not create any rendering factory. Aborting ... at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:68) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:1001) at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139) at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:411) at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:333) at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:193) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:108) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:77) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:59) at org.eclipse.e4.ui.internal.workbench.E4Workbench.instantiateRenderer(E4Workbench.java:169) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:166) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) 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:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595) at org.eclipse.equinox.launcher.Main.run(Main.java:1501) at org.eclipse.equinox.launcher.Main.main(Main.java:1474) Caused by: java.lang.IllegalStateException: Could not create any rendering factory. Aborting ... at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.initialize(PartRenderingEngine.java:496) 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:566) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) ... 24 more !ENTRY org.eclipse.e4.ui.workbench 4 0 2018-11-21 09:04:11.625 !MESSAGE Failed to create the presentation engine for URI: bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine
Alex and I had a discussion whether we can just skip with the validation. I suggest to open a investigation bug for that in 4.11. If this cannot be skipped, probably we can put system packages in pde.core Also Lar's suggestion can be taken up via another bug. I will be away for couple of hours and I want this change to be picked up in the next build which happens in about couple of hours from now. I will open bugs for pending task before verification ( none of the pending tasks should be blocking for 4.10 though)
I will look at comment#14 as soon as I can
I use Build id: I20181119-0600, set Java 11 as JRE and take latest - ui/org.eclipse.pde.launching and launch an eclipse. In the launched eclipse, I try comment#0. I dont get any "java.lang.ClassNotFoundException". I guess that is a separate issue. Can you try with latest eclipse + just latest org.eclipse.pde.launching code? Or is there some prerequisite steps to recreate it?
I intend to test it further once I get the 6am EST build.
(In reply to Vikas Chandra from comment #18) > I intend to test it further once I get the 6am EST build. Works fine in the latest I-build for me. Thanks. I suggest that we move at least one of our test bundles to BREE 11 so that we can ensure that we do not regress on the Java 11 support in PDE. Will open a new bug for that.
(In reply to Lars Vogel from comment #19) > I suggest that we move at least one of our test bundles to BREE 11 so that > we can ensure that we do not regress on the Java 11 support in PDE. Will > open a new bug for that. Bug 541433.
verified on Version: 2018-12 (4.10) Build id: I20181121-1800 No error messages Thanks so much Lars for spotting this and following up on this one !
I have updated https://wiki.eclipse.org/JDKUpdateTesting#General with this scenario.
Opened bug Bug 541434 for rest of the issues !
> Thanks so much Lars for spotting this and following up on this one ! Thanks, Vikas for the fast fix.
Also thanks for Alex for patch 132796. Root cause ( comment#9) was identified by him.