On Fri, Oct 31, 2014 at 11:43 AM, Mat Booth <fedora(a)matbooth.co.uk> wrote:
On 31 October 2014 15:37, Christopher <ctubbsii-fedora(a)apache.org> wrote:
> On Fri, Oct 31, 2014 at 5:35 AM, Mat Booth <fedora(a)matbooth.co.uk> wrote:
>
>> On 31 October 2014 08:18, Max Rydahl Andersen <manderse(a)redhat.com>
>> wrote:
>>
>>>
>>>>>> Fedora 20 used to have 3 different Java versions (5, 7, 8).
>>>>>>
>>>>>
>>>>> ok, why no Java 6 ?
>>>>>
>>>>
>>>> Besides many technical reason the biggest one is non-technical in my
>>>> eyes - no one volunteered to do it. You know it's always a matter of
"who
>>>> will do the work?". I'm pretty sure that if someone jumps in and
say "Hey,
>>>> I'll maintain Java 6, fix problems/adopt Java 6 to changes in the OS
if
>>>> neeeded, help strengthen the switching between JREs, go through the Java
>>>> projects(shipped in Fedora) and help them properly set their targets in
>>>> build scripts so builds properly work on Java 6 and etc" there will
be no
>>>> objection to having Java 6. :)
>>>>
>>>
>>> Fair enough.
>>>
>>> OpenJDK 7
>>>>>> was removed from F21 because its support will end before F21 EOL
and
>>>>>> we
>>>>>> don't want to ship software not supported by upstream.
>>>>>>
>>>>>
>>>>> So for users most stable thing is to use Oracle JDK builds instead
>>>>> which
>>>>> are and will stay available ?
>>>>>
>>>>
>>>> Users can still try to use it but it's something that they have to
do
>>>> on their own - download, extract, set PATH, etc. Just like on every
>>>> platform with Oracle JVM.
>>>>
>>>
>>> Yeah, this is similar experience for developers on all other platforms
>>> so its expected/assumed.
>>>
>>> No separate repo with "binaries that is currently supported but will
>>>>> not
>>>>> stay supported for all of fedora 21 lifetime" ?
>>>>>
>>>>
>>>> 1. Fedora can not legally redistribute Oracle JDK.
>>>>
>>>
>>> I know - hence why I would think having a openjdk 7 build would make
>>> sense.
>>>
>>> 2. Fedora can not distribute something that Fedora developers can not
>>>> support if there is a problem in it (as it is with Oracle JDK).
>>>>
>>>
>>> so *any* package that is known to be marked as EOL sometime in the
>>> future before the upcoming Fedora EOL's gets removed from that future
>>> Fedora release ? Even that Java 7 is still the most used and targeted Java
>>> version ?
>>>
>>
>>
>> Maybe I misunderstand the use-case, but your projects can still target
>> Java 7 even if Eclipse is running on Java 8.
>>
>>
>
> That's not entirely true. This only works if a true JDK7 exists on the
> system. While newer JDKs are able to target older runtimes, there are cases
> where one can introduce source-incompatible changes that work in a newer
> JDK, but not in an older JDK. This matters for collaborating on projects
> where some team members are not using the newer JDK to target the older
> runtime. For instance, this happened with JDK7/JDK6 on my team... JDK7
> allows certain use of generics syntax that properly compiles to JDK6
> target, and validates in Eclipse as JDK6 source-compatible, but the actual
> JDK6 compiler treats as an error. I had to abandon my use of Fedora 20 as a
> development environment for our project, and revert to CentOS6 in order to
> guarantee I wasn't introducing source that was incompatible with JDK6. Not
> making older JDKs (even stale ones) available is likely to discourage Java
> developers from using Fedora as a development platform.
>
>
Doesn't Eclipse's "Execution Environments" solve this in your case?
When
you select the Java 6 EE for example, then Eclipse should tell you when you
attempt to use syntax or features that are not available in Java 6. It's
arguably a bug in Eclipse if this is not true.
No, that's the problem. I don't think Eclipse can guarantee compatibility
for an older version of Java if it can't find a strictly-compatible
"Installed JRE" to use as the Execution Environment. It will map a newer,
"compatible", version of Java to build projects which specify the older
version, but it will complain with loud warnings about not being able to
find a "strictly compatible" JRE ("Build path specifies execution
environment XXXXXX. There are no JREs installed in the workspace that are
strictly compatible with this environment."). From what I understand, this
error message is really warning about the lack of a compatible bootstrap
classpath (-bootclasspath) when cross-compiling.
That's precisely why it's so important to have other JDKs available.... so
Eclipse can use these as strictly compatible execution environments for
cross-compiling to an older version.
Personally, unlike the original poster, I don't care which JVM
Eclipse is
> running on, itself (OpenJDK 8, or whatever is latest, works for me). But, I
> do care about which JDKs are available on the system that Eclipse can
> launch to build projects, because that affects whether I can use Fedora as
> my development platform on team projects where some team members are using
> older JDKs (which should be fine, until the project bumps its minimum JVM
> dependency).
>
>
> --
> java-devel mailing list
> java-devel(a)lists.fedoraproject.org
>
https://admin.fedoraproject.org/mailman/listinfo/java-devel
>
--
Mat Booth
http://fedoraproject.org/get-fedora