Features/Java7

From FedoraProject

< Features
Revision as of 21:12, 11 January 2012 by Dbhole (Talk | contribs)

Jump to: navigation, search

Contents

Java 7

Summary

Make Java 7 (OpenJDK7) the default Java runtime and Java build tool set.

Owner

  • email: dbhole at redhat dot com

Current status

  • Targeted release: Fedora 17
  • Last Updated: 2012-01-06
  • Percentage of completion: 80%

Detailed Description

OpenJDK7 has been available as a tech preview in Fedora 16 since GA.

In Fedora 16, the default JDK has been kept as OpenJDK6 due to the relative untested state of OpenJDK7 at the time. OpenJDK7 has received a fair bit of testing since in Fedora and in other distros. For Fedora 17, it should therefor be made the default.

Benefit to Fedora

Fedora users will have access to all the new language and feature enhancements provided by Java 7.

Scope

As OpenJDK builds already exist in rawhide, the only work that remains is to change the provides such that OpenJDK6 provides "java6, jdk6, etc." so that nothing accidentally builds with 6 (thus masking potential breakage with 7).

How To Test

  • Install Package-x-generic-16.pngjava-1.7.0-openjdk
  • Run (as root) 'alternatives --config java' and select the 1.7 version
  • Run 'java -version' to ensure that it is correct


User Experience

By default, users will have access to all of the new features that version 7 of the language provides. If they want Java 6, they can install java-1.6.0-openjdk in parallel and switch the alternative.

Note that the default set of packages provided by Fedora will *NOT* work with OpenJDK6 as they will have been built with OpenJDK7 which has a newer class file format. OpenJDK6 will only be supplied for cases where users are using custom/proprietary apps that do not work with OpenJDK7 yet.

Dependencies

No new dependencies are needed for java-1.7.0-openjdk.

Contingency Plan

Everything built with Java 6 is usable with Java 7, so no contingency should be needed. For sanity, all Java packages should be built with OpenJDK7 (locally or in Koji) to ensure that there are no API discrepencies. Such discrepencies will be few and far given how compatible 7 is with 6.

Documentation

New features in OpenJDK7 are listed on [1].

Release Notes

Comments and Discussion