Kaffe.org
Up to Compatibility page

Compatibility - Application Testing

This is a list of applications that people wish to use with kaffe. We will be testing Kaffe against these applications, and I'll collect the results here. If you have any applications you'd like to suggest, or have any anecdotal information to add to this page, send them to jim@kaffe.org.

Categories

Server Applications

  1. Apache Tomcat

    For running servlets and JSP pages.

    Status: Tomcat 3.2.4 and Tomcat 4.1.27 / 4.1.30 work. Tomcat 3.3 and Tomcat 5.0.11 don't work yet.

    See this article by Benjamin Geer for more information on Tomcat 4.1.30 / mod_jk2 2.0.4 / apr 0.9.4

    See this post by Dalibor Topic and its thread for more information on Tomcat 4.1.27.

    See this post by Dalibor Topic and its thread for more information on Tomcat 3.2.4.

    If you want to use JSP with Kjc, try using this patch for Tomcat by Takashi Okamoto.

  2. Apache JServ

    For running servlets.

    Status: Untested.

  3. GNUJSP

    For running JSP pages.

    Status: Untested.

  4. OFBiz

    Open source enterprise automation software project.

    Status: Works.

    See this post by Adam Heath and its thread for more information on OFBiz 2.1.

  5. JBoss

    Open source J2EE application server.

    Status: Starting to work, needs a JBoss-savvy volunteer to fix the remaining issues.

  6. Apache Struts

    Open source web application framework.

    Status: Untested.

  7. Apache Cocoon

    An XML publishing framework based on XSLT.

    Status: Untested.

  8. W3C's Jigsaw Web server

    The W3C's web server.

    Status: Works.

    You need to start it up like this:

    export JIGSAWLIBS=classes/jigsaw.jar:classes/sax.jar:classes/jigadmin.jar:classes/jigedit.jar:classes/servlet.jar:classes/Tidy.jar:classes/xerces.jar:classes/xp.jar
    java -cp SJIGSAWLIBS org.w3c.jigsaw.Main -root /path-to-Jigsaw/Jigsaw
    
    This works for Jigsaw 2.2.2.

  9. Resin

    Fast Servlet and JSP engine with distributed load balancing.

    Status: Works.

    See this post by Jim Huang and its thread for more information on Resin 2.1.12.

  10. WinStone

    A lightweight servlet container that was written out of a desire to provide servlet functionality without the bloat that full J2EE compliance introduces. Status: Works.

    See this post by Jim Huang and its thread for more information on Winstone 0.6.4

JDBC drivers

  1. PostgreSQL

    Status: Untested.

  2. Oracle

    Here are some more links to the JDBC driver (requires an account):

    Oracle 9i (JDBC driver is included)
    Oracle 8i (JDBC driver is included)
    Standalone JDBC drivers

    Status: Untested.

  3. MySQL

    Status: Works.

    Driver downloads: http://www.mysql.com/downloads/api-jdbc.html

    See this post by Calvin Kaiwen for more information.

  4. Microsoft SQL Server

    Status: Works.

    Driver downloads: http://www.microsoft.com/sql/downloads/default.asp

    See this post by Calvin Kaiwen for more information.

Database Engines

  1. HSQLDB

    A free 100% Java database engine.

    Status: Works.

    See this post by Ito Kazumitsu for more information.

  2. Prevayler

    Klaus Wuestefeld writes:

    "Orders of magnitude FASTER and much SIMPLER than a DBMS. Write PLAIN JAVA classes: no pre or post- processing required; runs on any VM; no inheritance from base-class required. Clear documentation and demo included."
    Status: Works.

    See this post by Ito Kazumitsu for more information.

  3. Berkeley DB

    Berkeley DB is a programmatic toolkit that provides high-performance built-in database support for desktop and server applications and for information appliances. The Berkeley DB access methods include B+tree, Extended Linear Hashing, Fixed and Variable-length records, and Queues. Berkeley DB provides full transactional support, database recovery, online backups, and separate access to locking, logging and shared memory caching subsystems.

    Status: Works.

    See this post by Dalibor Topic for more information.

  4. eXist

    eXist is an Open Source native XML database featuring efficient, index-based XPath query processing, extensions for keyword search, XUpdate support and tight integration with existing XML development tools. The database is lightweight, completely written in Java and may be easily deployed in a number of ways, running either as a stand-alone server process, inside a servlet-engine or directly embedded into an application.

    Status: Works.

    See this post by Dalibor Topic for more information.

Software Development Tools

  1. Janino

    An embedded Java compiler.

    Status: Works.

  2. SableCC

    Java parser generator.

    Status: Works.

  3. The Kopi Project

    A nice source of free tools. Including DIS (Java disassembler), KSM (Java assembler), and KJC, a replacement for javac.

    Status: Works.

  4. Jakarta BCEL (Byte Code Engineering Library)

    The Byte Code Engineering Library (formerly known as JavaClass) is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class).

    Status: Works.

  5. Apache Ant

    Java-based build tool.

    Status: Ant 1.5.2 works.

    You'll need to put Sun's Swing 1.1.1 and BSF in your CLASSPATH for it to work. Your CLASSPATH should look like this:

    CLASSPATH=/path-to-kaffe/jre/lib/rt.jar:/path-to/swingall.jar:/path-to/bsf.jar

  6. JTidy

    An HTML syntax checker and pretty printer.

    Status: Works.

  7. ANTLR

    A translator generator (for implementing languages), based on PCCTS.

    Status: Works.

  8. JUnit

    Java regression testing framework.

    Status: Works.

  9. JavaCC (Java Compiler Compiler)

    A Java Parser generator. Free download.

    Status: Untested.

  10. DeDoc

    Translates JavaDoc into Java interface code.

    Status: Untested.

IDEs (Integrated Development Environments)

  1. Eclipse

    Really good open source Java-based IDE (from IBM).

    Status: Does load Eclipse, but not full-functional.

  2. netBeans

    Another open source Java-based IDE (from Sun, needs Swing).

    Status: Untested.

  3. Jooda

    GPL'd pure Java IDE.

    Status: Untested.

  4. Ginipad

    Another GPL'd pure Java IDE.

    Status: Untested.

Graphical Client Applications

  1. X-Smiles

    An open xml-browser for exotic devices. With XML, XSLT, XForms, CSS, XHTML, XSL Formatting Objects, SVG graphics, ECMAScript, skins and videoconferencing.

    Status: Untested.

    Anecdotes:

    • Jukka Santala is working at making it work on top of Kaffe.

  2. MindTerm

    A GPL'd Java ssh client. A commercial version is available from AppGate.

    Status: Untested.

  3. The Java Telnet Application/Applet

    A GPL'd Java telnet implementation.

    Status: Untested.

  4. JEmacs

    Reimplementation of emacs for Java, based on Kawa.

    Status: Untested.

  5. JEdit

    An Open Source programmer's text editor.

    Status: Untested.

  6. Mozilla - Kaffe OJI Plugin

    A plugin for Mozilla that allows it to use Kaffe to run Java applets. If the links on the main site are dead, there is an archived copy here.

    Status: Untested.

  7. WeirdX

    A free X server written in Java!

    Status: Untested.

    Anecdotes:

    • Jim Pick was able to get WeirdX partially working using the PocketLinux version of kaffe running on a framebuffer (with some small hacks, and without images).

  8. VNC

    Remote control software which allows you to view and interact with one computer (the "server") using a simple program (the "viewer") on another computer anywhere on the Internet.

    Status: Works.

    See this post by Jim Huang for information.

  9. jlGui

    A open source 100% Java music player.

    Status: Doesn't work. Needs java.awt.dnd classes (CVS 2002/03/30).

  10. jOggPlayer

    Java Graphical Ogg Vorbis player.

    Status: Untested.

  11. Columba

    GPL'd full-featured Java email client.

    Status: Untested.

  12. Enhydra Mail4ME

    Mail4ME is a lightweight implementation of the popular SMTP, POP3 and IMAP protocols - including MIME support - allowing wireless J2ME/MIDP devices to access the e-mail service at any time, and from any place. The package is suitable for running on top of J2ME as well as J2SE, so it is also a tiny alternative to JavaMail.

    Status: Untested.

  13. Sun Jini

    Jini[tm] network technology is an open architecture that enables developers to create network-centric services -- whether implemented in hardware or software -- that are highly adaptive to change. Jini technology can be used to build adaptive networks that are scalable, evolvable and flexible as typically required in dynamic computing environments.

    Status: Untested.

  14. Snark

    A program for distributing and sharing files with the BitTorrent protocol. Has an integrated (tiny) HTTP server and torrent file tracker and an experimental java-gnome GUI.

    Status: Works.

Non-Graphical Client Applications

  1. Freenet

    Peer-to-peer network client.

    Status: Untested

    Anecdotes:

    • Should work, since Oskar Sandberg, one of the developers, develops using kaffe.

  2. jPhoto

    GPL'd command line USB camera tools.

    Status: Untested.

  3. Samba JCIFS CIFS (Common Internet File System), implemented in Java.

    Status: Untested.

Games

  1. Arkanae

    GPL'd 3D MMORPG in a fantasy environment

    Status: Untested.

  2. Index: JavaGaming.org Links

Non-Java Languages

  1. Jython

    Python implemented in Java.

    Status: Untested.

  2. BeanShell

    A free Java-based shell.

    Status: Untested.

  3. Kawa

    A scheme implementation that runs on a JVM.

    Status: Works.

  4. DynamicJava

    A Java source interpreter, written in Java.

    Status: Works except its GUI.

  5. Rhino

    Javascript for Java.

    Status: Works.

XML Libraries

  1. Index: Apache XML Project

    The source for a lot of the open source activity in the XML area.

  2. Apache Xerces

    An XML parser, support JAXP, DOM and SAX interfaces.

    Status: Untested.

    Anecdotes:

    • Oskar Sandberg wrote (on Xerces+Xalan with sax): "They seem to build fine and to the extent that they are used for Ant I'm having no problems with them. I can't promise they work since I don't really know what they do though :-)."
    • Jukka Santala wrote (on Xerces+Xalan with sax): "Yes, as I said, I did some work last year to get the Xerces/Xalan packages to work on both the desktop and custom editions. So unless new regressions have been introduced since then, all the generally used features should work. There may be an issue with ARM JIT's const-pool size-limit that demands re-compiling one class-file, though."

  3. Apache Xalan

    An XSLT and XPath implementation.

    Status: Untested.

    Anecdotes:

    • Oskar Sandberg wrote (on Xerces+Xalan with sax): "They seem to build fine and to the extent that they are used for Ant I'm having no problems with them. I can't promise they work since I don't really know what they do though :-)."
    • Jukka Santala wrote (on Xerces+Xalan with sax): "Yes, as I said, I did some work last year to get the Xerces/Xalan packages to work on both the desktop and custom editions. So unless new regressions have been introduced since then, all the generally used features should work. There may be an issue with ARM JIT's const-pool size-limit that demands re-compiling one class-file, though."

  4. Apache FOP (Formatting Objects Processor)

    A print formatter driven by XSL formatting objects.

    Status: Untested.

  5. Steady State CSS2 Parser

    A parser that inputs Cascading Style Sheets Level 2 source text and outputs a Document Object Model Level 2 style tree.

    Status: Untested.

  6. Saxon XSTL Processor

    An XSLT processor with support XSLT and XPath. Recent versions include support for XSLT 2.0 and XPath 2.0.

    Status: Works.

    See this post by Ito Kazumitsu for more information.

Libraries

  1. iText

    Java-PDF library.

    Status: Works.

  2. Java Excel API

    A Java API to read, write and modify Excel spreadsheets.

    Status: Works.

    See this post by Ito Kazumitsu for more information.

  3. ExcelCSVPrinter, ExcelCSVParser

    Utilities for Excel Comma Separated Values.

    Status: Works.

    See this post by Ito Kazumitsu for more information.

  4. JDBM

    It aims to be for Java what GDBM is for other languages.

    Status: Works.

    See this post by Ito Kazumitsu for more information.

  5. Apache Batik

    A toolkit for displaying SVG graphics.

    Status: Untested.

    Anecdotes:

    • Oskar Sanderg wrote: "It tried to get Batik (Apache's SVG library) to work some time ago, but I ended up giving up after several hours of trying to hack around missing 1.2isms"

  6. CSIRO SVG Toolkit

    Another toolkit for displaying SVG graphics.

    Status: Untested.

    Anecdotes:

    • Jukka Santala wrote: "I did do a bout at trying to see if I could get it stripped down enough to work with Kaffe, but the Java2D support it too deeply ingrained into not only the viewers, but also the SVG spec itself. As said, SVG 1.1 should show some hope of having rudimentary support for this feature, which may become very common requirement in future."

  7. JOrbis

    Pure Java Ogg Vorbis (MP3 replacement) decoder.

    Status: Works.

  8. JavaLayer

    Open source 100% Java MP3 decoder/player/converter library.

    Status: Works.

  9. VorbisSPI

    Open source 100% Java Ogg Vorbis SPI (Service Provider Interface).

    Status: Untested.

  10. Apache Log4j

    Logging library.

    Status: Untested.

  11. SkinLF (Skin Look And Feel)

    A themeing library (requires Swing).

    Status: Untested.

  12. RXTX

    Serial and parallel communication lib (LGPL).

    Status: Untested.

  13. java-gnome

    A set of Java bindings for the GNOME and GTK libraries.

    Status: Works.

  14. PircBot

    PircBot is a Java framework for creating IRC bots and clients.

    Status: Works.

    See this post by Paul Mutton for more information.

  15. SwingWT

    SwingWT is a 100% pure Java library which aims to be a free implementation of Swing and AWT making use of IBM SWT.

    Status: Works.

    See this post by Jim Huang for more information.

  16. JSDL

    JSDL is a binding for SDL written in Java.

    Status: Works.

    See this post by Jim Huang for information.

  17. Charva

    Charva is Java framework for presenting a "graphical" user interface, composed of elements such as windows, dialogs, menus, textfields and buttons, on a traditional character-cell ASCII terminal, and its API is much similar to Swing.

    Status: Works.

    See this post by Jim Huang for information.

  18. ME4SE

    ME4SE is an effort to make Java 2 Micro Edition APIs like LCDUI and the Generic Connection Framework available for the Java 2 Standard Edition.

    Status: Works.

    See this post by Jim Huang for information.

  19. JGL

    jGL is a 3D graphics library for Java with an API which is similar to that of OpenGL.

    Status: Works.

    See this post by Jim Huang for information.

  20. Zaval LwVCL

    Zaval provides the same API solution for both Java and .NET, and is good at both footprint and performance.

    Status: Works.

    See this post by Jim Huang for information.

  21. MicroEmulator

    A J2ME Device Emulator.

    Status: Works.

    See this post by Jim Huang for information.

  22. JEmacs

    A re-implementation of Emacs, written in a mix of Java, Scheme, and Emacs Lisp (ELisp).

    Status: Works.

    See this post by Jim Huang for information.

Free Java Application Indexes

  1. rhug

    A collection of Java packages built with gcj.

  2. Giant Java Tree

    The Giant Java Tree is an open source project whose primary aim is to create a Java source tree consisting entirely of open source.

  3. Index: FreeBSD Ports: Java



Legal:

Kaffe.org is a an independent, free software community project.

The Kaffe virtual machine is a clean room implementation of the Java Virtual Machine from Sun Microsystems, Inc.

The Kaffe virtual machine is free software, licensed under the terms of the GNU General Public License.

Java is a Trademark of Sun Microsystems, Inc.

All copyrights are held by their respective owners, please read and respect the individual licenses on the software distributed from this site.