We are pleased to announce a new development release of GNU Classpath. GNU Classpath, Essential Libraries for Java, is a project to create free core class libraries for use with virtual machines and compilers for the java programming language. GNU Classpath 0.09 can be downloaded from ftp://ftp.gnu.org/pub/gnu/classpath/ or one of the ftp.gnu.org mirrors http://www.gnu.org/order/ftp.html File: classpath-0.09.tar.gz MD5sum: 1c4bcf2e6b5201c6496ba55ee8aac04d New in GNU Classpath 0.09: * Includes updated GNU JAXP version from 2004-02-01. * Native C code is now -ansi -pedantic (C89) clean and (almost) -Wall clean. * java.io is now implemented by delegating most tasks directly to java.nio. * Reworked/Optimized implementations of java.nio.Buffer and subclasses. * New javax.print, javax.print.attribute[.standard] and javax.print.event packages and classes. * java.text attributed iterators support. * New javax.imageio, javax.imageio.event and javax.imageio.spi packages and classes. * GNU Classpath can now load service providers that are described via META-INF/services/* resources in extension JARs. This is useful for implementing the various APIs that are supposed to be extensible via custom plugins. For details, please see the documentation of gnu.classpath.ServiceFactory. Application developers are strongly discouraged from calling glibj internal packages. Instead, they might want invoke the newly implemented javax.imageio.spi.ServiceRegistry.lookupProviders, which is a standard method for loading plug-ins. * New developers wanting to help the GNU Classpath project might want to review the greatly expanded Hacker Guide included in the doc directory or online at http://www.gnu.org/software/classpath/docs/hacking.html Also the FAQ has been expanded. And when working from CVS you can now use a simple autogen.sh script to get all autotools magic done automagically. * New configure option --with-glibj which defines how to install the glibj class files as zip, as flat directory files or both (zip|flat|both) [default=zip]. When working with multiple runtimes some of which might not support bootstrap classes in zip files the --with-glibj=both option is recommended (this does take extra disc space). * Two big code drops from the libgcj gui branch updating various java.awt and javax.swing classes. * Multiple java.net.InetAdress fixes and java.rmi fixes. * ServerSocket.accept() now restarts listening when system call interrupted. * Much cleanups to make standard API doc valid XHTML (not completed yet). * A scan for unused variables and non-static invocation of static methods turned up a couple of subtle bugs which have now all been fixed. * The Mauve testsuite has been cleaned up considerable and lots of issues in the GNU Classpath core class implementation have been fixed. VM Interface changes: * java.lang.Class/VMClass interface was changed. The interface now no longer requires an instance of VMClass for each Class instance. Instead the field vmdata in Class is now of type Object. * GNU Classpath now assumes that JNI calls SetXField can modify final fields. This was previously used silently for System.in/out/err and should be considered as a feature now. * A new VMProcess and a sample JNI C implementation are now provided to make Runtime.exec() work out of the box on some systems. This requires a small change to VMRuntime.exec() when a runtime wants to use it as the default java.lang.Process implementation. * The implementation of most of java.io through java.nio moved serveral runtime specific I/O methods. Most methods do have a generic default native C JNI implementation in native/jni/java-nio. * Runtime support methods for java.io.File have been moved to VMFile which also comes with a default JNI C implementation. * To support the new service provider mechanism runtimes must make sure that extension JARs are made accessible via the default context class loader. Here are answers to some questions you might have about this project and this release. 1). What is required to build/install/run? GNU Classpath requires a working GNU build environment and a byte code compiler such as jikes, gcj or kjc. When creating native code you will also need a working C compiler and up to date Gnome development libraries (gtk+, libart and gdk-pixbuf). More information on the precise version numbers for the tools and libraries can be found in the INSTALL file. A list of virtual machines and compilers known to work with GNU Classpath can be found at our website: http://www.gnu.org/software/classpath/stories.htm 2). What platforms are supported? GNU/Linux is the only platform that has been tested. We plan to eventually support many others. 3). Who should use this software? Although GNU Classpath is already capable of supporting many applications written in the java programming language, this is a development release. As such, there are still some unfinished components, and some problems are to be expected. You should install it if you are interested in GNU Classpath development or reporting bugs. We appreciate both. A good overview of the current status can be found on the GNU Classpath at FOSDEM'04 page which describes the last GNU Classpath hacker meeting. It includes reports and presentations on the current status and future plans: http://www.gnu.org/software/classpath/events/fosdem04.html 4). Where do I go for more information? The project home page with information on our mailing list can be found http://www.gnu.org/software/classpath/.
Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.
Please send comments on these web pages to webmasters@www.gnu.org, send other questions to gnu@gnu.org.
Copyright © 1999-2006 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
Updated: $Date: 2009/07/30 22:51:19 $ $Author: gnu_andrew $