classpath - News
GNU Classpath 0.09 Released
Item posted by Mark Wielaard <mark> on Sun 02 May 2004 11:39:30 PM UTC.
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.html
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/.
Powered by Savane 3.14-8aba.
Corresponding source code