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

14. Java and java-gcj-compat

This release of Fedora Core includes a free and open source Java environment called 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.

[Note]Fedora Core Does Not Include Java

Java is a trademark of Sun Microsystems. java-gcj-compat is an entirely free software stack that is not Java, but may run Java software.

The java-gcj-compat 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 

14.1. Handling Java and Java-like Packages

In addition to the java-gcj-compat free software stack, Fedora Core 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

14.2. 64-bit JNI Libraries

The 64-bit JNI libraries shipped by default on x86_64 systems in Fedora Core and Extras do not run on 32-bit JREs. Either switch to a 64-bit Java alternative, or install the 32-bit version of the packages, if available. To install a 32-bit version, use the following command:

yum install <package_name>.i386 

Likewise, the 32-bit JNI libraries shipped by default on ppc64 systems do not run with a 64-bit JRE. To install the 64-bit version, use the following command:

yum install <package_name>.ppc64 

14.3. Handling Java Applets

This release of Fedora Core includes a preview release of gcjwebplugin, a Firefox plugin for Java applets. gcjwebplugin is not enabled by default. Although the security implementation in GNU Classpath is being actively developed, it is not mature enough to run untrusted applets safely. That said, the AWT and Swing implementations in GNU Classpath are now sufficiently mature that they can run many applets deployed on the web. Adventurous users who want to try gcjwebplugin can read /usr/share/doc/libgcj-4.1.1/README.libgcjwebplugin.so, as installed by the gcc rpm. The README explains how to enable the plugin and the risks associated with doing so.

14.4. Fedora and the JPackage Java Packages

Fedora Core 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.

14.5. Eclipse

This release of Fedora Core includes Fedora Eclipse, which is based on the Eclipse SDK version 3.2. The "New and Noteworthy" page for this release can be accessed here.

Released in June 2006, the SDK is known variously as "the Eclipse Platform," "the Eclipse IDE," and "Eclipse." The Eclipse SDK is the foundation for the combined release of ten Eclipse projects under the Callisto combined release umbrella. A few of these Callisto projects are included in Fedora Core and Extras: CDT, for C/C++ development, and GEF, the Graphical Editing Framework.

We hope to augment these projects with others as this Fedora cycle goes on. Likely candidates for inclusion include EMF, the Eclipse Modeling Framework, and VE, the Visual Editor. As of this writing, it is expected that an updated version of PyDev, the Python development tools, is going to be available in Fedora Extras. Assistance in getting these projects packaged and tested with GCJ is always welcome. Contact the interested parties through fedora-devel-java-list and/or #fedora-java on freenode.

Fedora also includes plugins and features that are particularly useful to FOSS hackers: ChangeLog editing with eclipse-changelog and Bugzilla interaction with eclipse-bugzilla. Our CDT package also includes work-in-progress support for the GNU Autotools. The latest information regarding these projects can be found at the Fedora Eclipse Project page.

14.5.1. Non-packaged Plugins/Feature

Fedora Eclipse contains a patch to allow non-root users to make use of the Update Manager functionality for installing non-packaged plugins and features. Such plugins are installed in the user's home directory under the .eclipse directory. Please note, however, that these plugins do not have associated GCJ-compiled bits and may therefore run slower than expected.

displayFooter('$Date: 2007/02/06 03:00:19 $'); ?>