📄 20050630.wml
字号:
#!wml --include=..#use wml::std::page#use wml::std::lang#use wml::fmt::isolatin#use wml::std::case global=upper<lang:star:slice:><set-var last-modified-author="prr">#include <include/macros.wml><header title="GNU Classpath 0.16 Announcement (2005-04-29)"> <pre>GNU Classpath 0.16 "Harmony!" released.We are pleased to announce a new developer snapshot of GNU Classpath.GNU Classpath, essential libraries for java, is a project to create freecore class libraries for use with runtimes, compilers and tools for thejava programming language.The GNU Classpath developer snapshot releases are not directly aimedat the end user but are meant to be integrated into larger developmentplatforms. For example the GCC (gcj) and Kaffe projects will use thedeveloper snapshots as a base for future versions.This is the first release of GNU Classpath since our Harmonycollaboration with the Apache group. Instructions for developerswanting to try out and help with the core library implementation canbe found at: http://developer.classpath.org/New is our wiki with simple steps to setup a quick developmentenvironment. For example developers using cygwin can find exampleshere: http://developer.classpath.org/mediation/ClasspathOnCygwinSome highlights of changes in this release (more extensive list below):AWT GtkScrollBar and GtkImage improvements. All image operations arenow working correctly. Graphics2D has been upgraded to use Cairo0.5.x. Free Swing updates for 1.5 top-level compatibility. JTreeinterface completed. JFileChooser has been implemented. Completedimplementations of BoxLayout, GrayFilter and SplitPane. Upgraded theCorba features to 1.3 and included new CORBA 2.3 features. Start ofgeneric JDWP framework. And lots of bug fixes based on real worldapplication usage.31 people actively contributed code to this release and made 389 CVScommits during the last two months of development. diffstat since 0.15:1248 files changed, 133649 insertions(+), 41802 deletions(-)More details about the various changes and contributions below.GNU Classpath 0.16 can be downloaded fromftp://ftp.gnu.org/pub/gnu/classpath/or one of the ftp.gnu.org mirrorshttp://www.gnu.org/order/ftp.htmlFile: classpath-0.16.tar.gzMD5sum: 220a9c86719a2c6bd7ba9b9877495113SHA1sum: be6d30fbfe4d71015a455a367411a6d55df3484eThis release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 orhigher is recommended. Included, but not activated by default in thisrelease is a Graphics2D implementation based on the Cairo Graphicsframework (http://www.cairographics.org). Enabling this makes programslike JEdit start up on GNU Classpath based runtimes. To enable thissupport install the cairo 0.5.x snapshot, configure GNU Classpath with--enable-gtk-cairo and make sure the system propertygnu.java.awt.peer.gtk.Graphics=Graphics2D is set.This release was explicitly tested against the last Eclipse 3.1release (thanks to various eclipse hackers for the support). For enduser we do however recommend to use the GCJ4 packaged version ofEclipse 3.1 that have been prepared for the various distributions:Fedora Core http://overholt.ca/wp/?p=27Debian GNU/Linux http://gnu.wildebeest.org/diary-man-di/index.php?p=19Ubuntu http://www.larvalstage.net/index.php?/archives/2-Introducing-Eclipse-3.1.htmlNot yet included is an implementation of Generic collection classesand classes for other 1.5 language extensions. Work on this is beingdone on a special development branch that will be included in a futureGNU Classpath release when free runtimes, compilers and tools have allbeen upgraded to support these new language features.One of the major focuses of the GNU Classpath project is expandingand using the Mauve test suite for Compatibility, Completeness andCorrectness checking. Various groups around GNU Classpath collaborateon the free software Mauve test suite which contains ~30.000 corelibrary tests. Mauve has various modules for testing core classlibrary implementations, byte code verifiers, source to byte code andnative code compiler tests. Mauve also contains the Wonka visual testsuite and the Jacks Compiler Killer Suite. This release passes 28801of the mauve core library tests. See for more information:http://www.sourceware.org/mauve/Conformance reports for the included jaxp support can be found in thedoc/README.jaxp file.The GNU Classpath developers site http://developer.classpath.org/provides detailed information on how to start with helping the GNUClasspath project and gives an overview of the core class librarypackages currently provided. For each snapshot release generateddocumentation is provided through the GNU Classpath Tools gjdocproject. A documentation generation framework for java source filesused by the GNU project. Full documentation on the currentlyimplementated packages and classes can be found at:http://developer.classpath.org/doc/Here are answers to some questions you might have about this project andthis release.1). Who should use this software?Although GNU Classpath is already capable of supporting manyapplications written in the java programming language, this is adevelopment release. As such, there are still some unfinishedcomponents, and some problems are to be expected. You should install itif you are interested in GNU Classpath development or reporting bugs.We appreciate both.For end users we recommend to use one of the development environmentsbased on GNU Classpath which combine the core libraries with compilersand other tools needed for creating applications and libraries. * GCC with GCJ (http://gcc.gnu.org/java/) * Kaffe (http://www.kaffe.org/)Both projects have CVS versions which track GNU Classpath closely.2). What is required to build/install/run?GNU Classpath requires a working GNU build environment and a byte codecompiler such as jikes, gcj or kjc. When creating native code you willalso need a working C compiler and up to date Gnome developmentlibraries (gtk+, libart and gdk-pixbuf). More information on theprecise version numbers for the tools and libraries can be found inthe INSTALL file.You will also need a runtime environment. Most active GNU Classpathhackers use JamVM (http://jamvm.sourceforge.net/) and the gcj or Jikesbytecode compiler (http://www.jikes.org) for quick development. Butother environments can certainly be used to hack on the GNU Classpathcore libraries.For other environments that might need modified version of the currentrelease see the README file. A complete list of virtual machines andcompilers known to be based on GNU Classpath can be found at ourwebsite: http://www.gnu.org/software/classpath/stories.htmlNote that these are just byte code execution compilers and/orruntimes. For development of programs written in the java programminglanguage you will also need compilers and other tools for creatinglibraries and/or executables (see question 1).3). What platforms are supported?GNU/Linux and FreeBSD on x86 and powerpc are regularly tested by thedevelopers. Since 0.12 there is also support for cygwin. We plan toeventually support many others. Many more architectures and platformsare supported. Check the actual runtime you use together with GNUClasspath for detailed information on the supported platforms.4). Where do I go for more information?The project home page with information on our mailing list can befound at http://www.gnu.org/software/classpath/The GNU Classpath developer recently held a conference during Fosdem.This was a standing room event and provided lot of communication betweenthe GNU Classpath, Kaffe, GCJ, IKVM, Apache, java-gnome and Cacao hackersand users. The presentations of this event have been publised and shouldgive a good overview of the current status and future plans of the project:http://www.gnu.org/software/classpath/events/escape_fosdem05.htmlDevelopers wanting to help out with the project will find moreinformation and tools on http://developer.classpath.org/5). How do I extend the functionality of the core classes?Besides combining GNU Classpath with the runtimes and compilers aboveyou might want to add support for additional encryption libraries andalgorithms as provided by GNU Crypto(http://www.gnu.org/software/gnu-crypto/). And for additionalextension libraries (mail, activation, infobus, servlet, etc.) checkout GNU ClasspathX (http://www.gnu.org/software/classpathx).Additional network protocol support is provided by a sub-projectcalled GNU Classpath Inetlib, an extension library to provide extranetwork protocol support (ftp, finger, gopher) for GNU Classpath, butit can also standalone to ease adding http, imap, pop3 and smtp clientsupport to applictions. Also distributed from<ftp://ftp.gnu.org/gnu/classpath/>The following projects extend the functionality of GNU Classpathwith additional algorithms, new core packages and tools.All are released under GPL compatible licenses:* Jessie: A free implementation of the JSSE. Secure Sockets Extension. http://www.nongnu.org/jessie/* Tritonus: A implementation of the javax.sound API. http://www.tritonus.org/* gcjwebplugin: A plugin for the execution of applets in web browsers. http://www.nongnu.org/gcjwebplugin/Note that the above libraries might already have been included in thevarious platforms that also integrate GNU Classpath like done by theKaffe project.6). What is new in this release?New in release 0.16 (Jun 30, 2005)(See the ChangeLog file for a full list of changes.)* Better GTK scrollbar peer implementation when using GTK >= 2.6.* GdkGraphics2D has been updated to use Cairo 0.5.x APIs.* BufferedImage and GtkImage rewrites. All image drawing operations should now work correctly (flipping requires gtk+ >= 2.6)* Future Graphics2D, Image and Text work is documented at: http://developer.classpath.org/mediation/ClasspathGraphicsImagesText* Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet, JInternalFrame, and JWindow are now 1.5 compatible in the sense that you can call add() and setLayout() directly on them, which will have the same effect as calling getContentPane().add() and getContentPane().setLayout().* The JTree interface has been completed. JTrees now recognizes mouse clicks and selections work, but the visual implementation is not yet complete. Work on expansion and collapsing of the tree nodes is being implemented.* BoxLayout works properly now.* Fixed GrayFilter to actually work.* Metal SplitPane implemented.* Lots of free swing text and editor stuff work now.* When gtk+ 2.6 or higher is installed the default log handler will produce stack traces whenever a WARNING, CRITICAL or ERROR message is produced.* The CORBA implementation is now a working prototype that should support features up till 1.3 inclusive. We would invite groups writing CORBA dependent applications to try Classpath implementation, reporting any possible bugs. The CORBA prototype is interoperable with Sun's implementation v 1.4, transferring object references, primitive types, narrow and wide strings, arrays, structures, trees, abstract interfaces and value types (feature of CORBA 2.3) between these two platforms. The remote exceptions are transferred and handled correctly. The stringified object references (IORs) from various sources are parsed as required. The transient (for current session) and permanent (till jre restart) redirections work. Both Little and Big Endian encoded messages are accepted. The implementation is verified using tests from the former cost.omg.org. The current release includes working examples (see the examples directory), demonstrating the client-server communication, using either CORBA Request or IDL-based stub (usually generated by a IDL to java compiler). These examples also show how to use the Classpath CORBA naming service. The IDL to java compiler is not yet written, but as our library must be compatible, it naturally accepts the output of other idlj implementations.* New --with-vm-classes configure option, and new 'build' setting for --with-glibj. (Only for integrators.)Runtime interface changes:* Start of a generic JDWP framework in gnu/classpath/jdwp. This is unfinished, but feedback (at classpath@gnu.org) from runtime hackers is greatly appreciated. Although most of the work is currently being done around gcj/gij we want this framework to be as VM neutral as possible. Early design is described in: http://gcc.gnu.org/ml/java/2005-05/msg00260.html* Native method VMClass.getModifiers() now takes an additional boolean parameter.* Deprecated native method VMClassLoader.defineClass(ClassLoader, String, byte[], int, int) has been replaced by VMClassLoader.defineClass(ClassLoader, String, byte[], int, int, ProtectionDomain)* VMClassLoader.loadClass(String name, boolean resolve) is now native, replacing the former version which just returned null.* Deprecated native method VMClassLoader.getPrimitiveClass(String) has been replaced by new native method VMClassLoader.getPrimitiveClass(char).* Previously empty implementations of methods VMThread.countStackFrames(), VMThrowable.fillInStackTrace(), and VMThrowable.getStackTrace() have been removed; these methods are now native methods.* Fields "exceptionTypes" and "parameterTypes" have been removed from Contructor.java and getExceptionTypes() and getParameterTypes() are now native methods.The following people helped with this release:Andreas Jaeger (mprec updates)Andreas Tobler (Darwin support)Andrew John Hughes (Locale and net fixes, URI RFC2986 updates)Andrew Overholt (File locking)Anthony Balkissoon (JList, Free Swing 1.5 updates and mouse event fixes)Archie Cobbs (VM interface updates)Audrius Meskauskas (Corba and HTML work)Bryce McKinlay (RMI work)Chris Burdess (XML work)Christian Thalinger (fdlibm updates)Dalibor Topic (SHA1PRNG and GdkPixbugDecoder updates)David Daney (BitSet bugfixes)David Gilbert (Lots and lots of documentation and awt/swing fixes)Gary Benson (MessageFormat fixes)Goffredo Baroncelli (HTTPURLConnection fixes)Jan Roehrich (JTree fixes)Jeroen Frijters (ClassLoader and nio cleanups)Ka-Hing Cheung (TreePath and TreeSelection fixes)Kalle Olavi Niemitalo (Build fixes)Keith Seitz (JDWP work)Kim Ho (JFileChooser implementation)Lillian Angel (JTree implementation and lots of bug fixes)Mark Wielaard (build fixes, GdkPixpufDecoder fixes and packaging)Michael Koch (Locale updates, bug and build fixes)Olga Rodimina (MenuSelectionManager)Robert Schuster (charset and awt fixes)Roman Kennke (BoxLayout, GrayFilter and SplitPane, plus bugfixes all over)Sven de Marothy (GtkImage rewrite, 2D, awt, free swing and date/time fixes)Thomas Fitzsimmons (Lot of upgrades to the gtk+ AWT and cairo 2D support)Tom Tromey (libgcj merging, build infrastructure and bug fixes)Ziga Mahkovec (Graphics2D upgraded to cairo 0.5 and new regex features)We would also like to thank the numerous bug reporters and testers!</pre><footer>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -