From Fedora Project Wiki

(Add draft note. Talk about Java in general and the specific OpenJDK/IcedTea/GCJ implementations independently.)
No edit summary
(44 intermediate revisions by 14 users not shown)
Line 1: Line 1:
==Java==
{{header|docs}}


{{draft}}
{{Docs_beat_closed}}


=== Best of Breed Free Software Java implementation ===
[[Category:Docs Project]]
 
[[Category:Draft documentation]]
Fedora includes best of breed free software java implementations through active adoption of innovative Fedora and upstream technology integration. The implementations integrated into Fedora are based on OpenJDK and the IcedTea GNU/Linux distribution integration project or alternatives like the GNU Compiler for Java (GCJ) and the GNU Classpath core class libraries. All Fedora innovations are pushed upstream to get the widest possible integration of the technologies in general Java implementations.
[[Category:Documentation beats]]
 
Fedora 9 includes OpenJDK 6, a Free Software implementation of the Java Platform, Standard Edition.  OpenJDK 6 is not yet Java compatible; work is underway to certify it.
 
Fedora will track Sun's stable OpenJDK 6 branch.
 
=== OpenJDK Replaces IcedTea ===
 
The OpenJDK 6 packages, <code>java-1.6.0-openjdk*</code>, replace their IcedTea counterparts, <code>java-1.7.0-icedtea*</code>.  The Fedora 8 IcedTea packages track the unstable OpenJDK 7 branch, whereas the <code>java-1.6.0-openjdk*</code> packages track the stable OpenJDK 6 branch. The decision to have OpenJDK 6 replace IcedTea was made for several reasons:
 
* Sun has replaced most of the encumbrances for which IcedTea was providing replacements. For the rest of the encumbrances, replacements have been merged from the IcedTea project.
* IcedTea's mandate is to merge as much as possible with OpenJDK, so the differences between IcedTea and OpenJDK should diminish over time.
* OpenJDK 6 is a stable branch, whereas OpenJDK 7 is unstable, and is not expected to ship a stable release until 2009.
* Sun has licensed the OpenJDK trademark for use in Fedora.
* Shipping both OpenJDK 6 and IcedTea would have been confusing, and would have added size to the distribution.
 
IcedTea continues to provide autotools support (<code>autoconf</code>, <code>automake</code>, <code>libtool</code>, and so on), a portable interpreter for PowerPC and 64-bit PowerPC architectures, plugin support, Web Start support, and patches to integrate OpenJDK into Fedora.  The IcedTea sources are included in the <code>java-1.6.0-openjdk</code> SRPM.
 
If IcedTea is already installed, the package changeover does not happen automatically.  The packages related to IcedTea based on OpenJDK 7 must first be erased, then the new OpenJDK 6 packages installed.
 
<pre>
su -c "yum erase java-1.7.0-icedtea{,-plugin}"
su -c "yum install java-1.6.0-openjdk{,-plugin}"
</pre>
 
=== Handling Java Applets ===
 
Upstream OpenJDK does not provide a plugin.  The Fedora OpenJDK packages include an adaptation of <code>gcjwebplugin</code>, that runs untrusted applets safely in a Web browser.  The plugin is packaged as <code>java-1.6.0-openjdk-plugin</code>.
 
* The <code>gcjwebplugin</code> adaptation has no support for the [https://bugzilla.redhat.com/show_bug.cgi?id=304021 bytecode-to-JavaScript bridge (LiveConnect)] .  Applets that rely on this bridge will not work.  Experimental LiveConnect support exists in the IcedTea repository, but is not ready for deployment in Fedora.
* The <code>gcjwebplugin</code> adaptation does not support [https://bugzilla.redhat.com/show_bug.cgi?id=304031 signed applets] .  Signed applets will run in untrusted mode.  Experimental support for signed applets is present in the IcedTea repository, but it is not ready for deployment in Fedora.
* The <code>gcjwebplugin</code> security policy may be too restrictive. To enable restricted applets, run the <code>firefox -g</code> command in a terminal window to see what is being restricted, and then grant the restricted permission in the <code>/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/security/java.policy</code> file.
 
=== Handling Web Start Applications ===
 
Upstream OpenJDK does not provide Web Start support.  Experimental Web Start support via [http://jnlp.sourceforge.net/ NetX] is present in the IcedTea repository, but is not ready for deployment in Fedora.
 
=== Fedora and JPackage ===
 
Fedora includes many packages derived from the [http://jpackage.org JPackage Project] .  Some of these packages are modified in Fedora to remove proprietary software dependencies, and to make use of GCJ's ahead-of-time compilation feature.  Use the Fedora repositories to update these packages, or use the JPackage repository for packages not provided by Fedora.  Refer to the [http://jpackage.org JPackage website] for more information about the project, and the software it provides.
 
Admonition("warning", "Mixing Packages from Fedora and JPackage", "Research package compatibility before you install software from both the Fedora and JPackage repositories on the same system.  Incompatible packages may cause complex issues.") 
 
An incompatibility between Fedora and the JPackage <code>jpackage-utils</code>, that prevented installing JPackage's <code>jpackage-utils</code> on Fedora, is [https://bugzilla.redhat.com/show_bug.cgi?id=260161 resolved] in this release.

Revision as of 05:53, 8 May 2013

DocsProject Header docTeam1.png


Warning.png
Beat Closed on Wiki
Work on beats has now moved to git at https://pagure.io/fedora-docs/release-notes. If you have changes or additions, please contact the docs team via #fedora-docs, docs@lists.fedoraproject.org, or with the release-notes BZ component.