Community
Participate
Working Groups
Created attachment 269438 [details] demonstration bundle project Seen in Oxygen.0, but almost certainly exists in Neon. I'm developing bundles that should work for Mars, Neon, and Oxygen. As such, our bundles specify BREE JavaSE-1.7. One of our bundles uses JFace databinding, and extends org.eclipse.core.databinding.observable.value.ComputedValue. We get compilation errors when using an Oxygen target platform as: The type java.util.function.Supplier cannot be resolved. It is indirectly referenced from required .class files ComputedValue has a new static method, #create(Supplier), that was introduced in Neon, when Eclipse Platform moved to Java 8 as a minimum BREE. The cause is that my JDT JRE -> Execution Environment mappings use a JavaSE 7 JRE as the mapping for JavaSE-1.7 EE. The compiler is not using ComputedValue's classpath for resolving classes in ComputedValue. Although similar to bug 73957 and bug 148844, it's a bit different as the problem is the •JRE System Library* used rather than a particular bundle. Steps to repeat: 0. Configure a Java 7 JRE in _Preferences > Java > Installed JREs_. Configure this Java 7 JRE as the match for the JavaSE-1.7 EE in _Installed JREs > Execution Environments_. 1. Create new plug-in project with Execution Environment "JavaSE-1.7" 2. Add a bundle dependency to org.eclipse.core.databinding.observable. 2. Create a subclass of ComputedValue. See the resulting error. Workaround: Change the execution environment for JavaSE-1.7 to use a JavaSE 8 JRE instead.
I realize I hit the same problem with Tycho's toolchains support when using `useJDK=BREE`. We moved to only useJDK=BREE when compiling against Mars and can force a Java 7.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.