initCommon(); $template->displayHeader(); ?>

15. IcedTea and java-gcj-compat

[Tip]Latest Release Notes on the Web

These release notes may be updated. Visit http://docs.fedoraproject.org/release-notes/ to view the latest release notes for Fedora.

15.1. IcedTea

This release of Fedora includes the IcedTea environment. IcedTea is a build harness for Sun's OpenJDK code that replaces encumbered parts of OpenJDK with Free Software replacements. IcedTea provides a more complete, compatible environment than GCJ, including support for building and running bytecode up to the 1.6 level. Users of IcedTea should be aware of a few caveats:

  • There is no ppc or ppc64 support. Users of ppc and ppc64 systems should continue to use GCJ.

  • There is no support for the Java sound APIs.

  • There are a few missing cryptographic algorithms.

15.2. Handling Java Applets

The Fedora IcedTea packages also include an adaptation of gcjwebplugin that runs untrusted applets safely in a web browser. The plugin is packaged as java-1.7.0-icedtea-plugin.

  • The gcjwebplugin adaptation has no support for the bytecode-to-Javascript bridge, so applets that rely on this bridge will not work.

  • The gcjwebplugin adaptation has no support for signed applets. Signed applets will run in untrusted mode.

  • The gcjwebplugin security policy may be overly restrictive. To enable restricted applets, run firefox -g in a terminal window to see what is being restricted, then grant the restricted permission in /usr/lib/jvm/java-1.7.0-icedtea-1.7.0.0/jre/lib/security/java.policy.

15.3. java-gcj-compat

This release of Fedora includes java-gcj-compat. The java-gcj-compat collection includes a tool suite and execution environment that is capable of building and running many useful programs that are written in the Java programming language.

The java-gcj infrastructure has three key components: a GNU Java runtime (libgcj), the Eclipse Java compiler (ecj), and a set of wrappers and links (java-gcj-compat) that present the runtime and compiler to the user in a manner similar to other Java environments.

The Java software packages in this Fedora release use the java-gcj-compat environment. These packages include OpenOffice.org Base, Eclipse, and Apache Tomcat. Refer to the Java FAQ at http://www.fedoraproject.org/wiki/JavaFAQ for more information on the java-gcj-compat free Java environment in Fedora.

[Important]Include Location and Version Information in Bug Reports

When making a bug report, be sure to include the output from these commands:

which java && java -version && which javac && javac -version 

15.4. Handling Java and Java-like Packages

In addition to the java-gcj-compat free software stack, Fedora lets you install multiple Java implementations and switch between them using the alternatives command line tool. However, every Java system you install must be packaged using the JPackage Project packaging guidelines to take advantage of alternatives. Once these packages are installed properly, the root user may switch between java and javac implementations using the alternatives command:

alternatives --config java alternatives --config javac 

A simpler way to switch Java alternatives is using the sytsem-switch-java tool included in Fedora.

15.5. Fedora and the JPackage Java Packages

Fedora includes many packages derived from the JPackage Project, which provides a Java software repository. 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 JPackage website at http://jpackage.org for more information on the project and the software it provides.

[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.

Refer to the latest release notes pertaining to Eclipse at http://fedoraproject.org/wiki/Docs/Beats/Devel/Tools/Eclipse.

15.6. Maven (v2)

This release of Fedora includes maven2, a Java project management and project comprehension tool. Maven can be invoked by the mvn and mvn-jpp commands. The former makes Maven behave just like upstream Maven, while the latter calls mvn with additional properties that make off-line building easier.

The maven2 package in Fedora is modified to work in a fully off-line mode. With no additional properties defined (the mvn command), maven2 works exactly like upstream Maven. Users may define additional properties to facilitate off-line builds, or call mvn-jpp, a wrapper that defines the most commonly used properties for off-line building. The properties and their usage details are described in the /usr/share/doc/maven2-2.0.4/maven2-jpp-readme.html file, which comes from the maven2-manual package.

displayFooter('$Date: 2007/11/08 03:45:40 $'); ?>