Sie befinden sich hier: Home » Wissenstransfer » Java » Open-Source

Java-Open-Source Projekte

Diese Sammlung von Links listet in meinen Augen gute und sinnvolle quelloffene und lizenzfreundliche Ergänzungen auf, denn die Java-Standard-API reicht heute nicht mehr aus. Zu den aufgezählten Produkten zählen nicht nur Bibliotheken, sondern auch Software-Pakete wie Datenbanken oder Build-Tools.

Whenever possible, steal code.  [Tom Duff, Bell Labs]

In Klammern steht hinter dem Projekt die Lizenzform. Zusätzliche Swing-Komponenten stehen auf einer Sonderseite.

Software Entwicklungsumgebung (IDEs) / UML-Tools

XML / HTML / XML-Binding / Web-Services

  • Xerces Java Parser (Apache). Neben Sun's Crimson ein schneller Parser
  • XOM (LGPL). Ein XML-Objekt-Modell von Elliotte Rusty Harold
  • JDOM (Apache). XML-Objekt-Modell. Eine Alternative ist noch dom4j (BSD)
  • Streaming API for XML (StAX) und Woodstox sind Pull Parser. StaxMisc (LGPL) hat ein StaX-Parser für JDOM
  • Jaxen (Apache). XPath Engine, die übergreifend zu W3C-DOM, JDOM und dom4j arbeitet
  • Digester (Apache). Teil aus Jakarta Commons zum Einlesen von XML-Konfig-Dateien (Tutorial)
  • XStream (BSD). Serialisierung in XML-Dateien ohne explizites Mapping. (Tutorial 1, 2, 3)
  • TagSoup (Academic Free License/GPL). Parser für HTML nach dem SAX-Prinzip. Korrigiert Tag-Fehler
  • CyberNeko HTML Parser (Apache). Korrigierender HTML-Parser
  • AXIOM, Teil aus AXIS2 (Apache). Einführung
  • PowerML (proprietär). Liest die binären PPT-Dateien ein und bildet sie als XML-Dokumente ab
  • Castor (Exolab License, wie BSD). XML-Binding. Ich bevorzuge im Allgemeinen JAXB 2
  • Apache Axis2 (Apache). SOAP-Stack
  • XFire (Proprietär). Weiterer beliebter SOAP-Stack
  • XML-RPC (Apache). Java-Implementierung von Apache für XML-RPC
  • Dozer (Apache). Ermöglicht Mapping von JavaBeans auf JavaBeans

Web / Tag-Libs / Web Frameworks

Java EE / Container / Applikations-Server

  • Glassfish (CDDL). Referenzimplementierung von Sun für Java EE 5
  • JBoss (LGPL). Freier Java EE-Stack, der die Java EE 1.4-Spezifikation + EJB 3 umsetzt. JBoss 5 ist im Beta-Stadium
  • Spring (Apache). IoC-Container mit Unterstützung für Aspekte, DAO, ...
  • ActiveMQ (Apache). JMS 1.1 Implementierung. (Viele andere Lösungen, wie OpenJMS, setzten nur die 1.0-Spezifikation um.) ActiveMQ ist auch die Messaging-Lösung in Geronimo.
  • Geronimo (Apache). Weiterer zertifizierter J2EE 1.5 und Java EE 5 Server von Apache
  • File Resource Adapter (GPL). Ein JCA 1.5 Connector-Adapter für's Dateisystem. Nicht vollständig, kann aber als Basis dienen
  • James (Apache). Java Apache Mail Enterprise Server

Performance

Datenbank / DB-Browser / Persistenz

GUI / Reports / Grafik

Testen / Integration / Build-Management

Projektplanung und -managing / Bug-Tracking / Wiki

  • Trac (BSD). Web-basiertes Projektmanagement-Werkzeug in Python
  • XPlanner (LGPL). Planung von XP-Projekten
  • TUTOS (GPL). Webanwendung zur Projektplanung
  • OpenPoint Issue Tracker. Closed Source und auch nicht Java, aber frei
  • ITracker (GPL). Tracking-System auf der Basis von Java EE
  • Scarab (BSD). Tracking
  • XWiki (LGPL). Freies und poluläres Wiki
  • JSPWiki (LGPL). Ebenfalls populäres Wiki, was etwa von NetBeans verwendet wird
  • JAMWiki (LGPL). Java-Wiki mit weiteren kleinen Bibliotheken, etwa Wiki->HTML Renderer, Wikipedia-API

Dateisystem / Netzwerk / IO-Bibliotheken / Datenformate

  • Jakarta Commons/Net (Apache). Java-Pakete für Internet-Protokolle FTP, NNTP, SMTP, POP3, Telnet, TFTP, Finger
  • JNotify (LGPL). Achtet auf Veränderungen im Dateisystem
  • jCIFS (LGPL). Zugriff auf SMB-Ressourcen, also \\Rechner\, etwa von Windows oder SAMBA-Freigaben
  • jpcap (Mozilla Public Licence). Fangen (Sniffen) von TCP/IP Paketen. Ermöglicht damit so etwas wie Wireshark (Ethereal)
  • cajo (LGPL). Kooperation zwischen mehreren virtuellen Maschinen
  • TrueZIP Library (Apache). Behandelt ZIP-Archive wie ein Dateisystem
  • POI (Apache). Zugriff auf MS Datei-Formate. Excelling in Excel with Java
  • Java Excel API (LGPL). Alternative zu POI für Excel-Tabellen
  • Apache FTP Server (Apache). Neu im Incubator
  • Apache MINA (Apache). Netzwerk-Framework
  • Capivara (GPL). Synchronisations-Software
  • JGCalAPI (Apache). Einfacher Wrapper für die Google Calendaring GData API
  • JOOReports (LGPL). Template-Engine auf der Basis von OpenOffice
  • JodConverter (LGPL). Office-Formate über OpenOffice konvertieren (etwa Word in PDF)
  • OpenXML4J (BSD). API für OpenOffice-Dokumente

Betriebssystem-Integration / Installer

Sonstiges / Freeware

  • Log4j (Apache). Logging. (Doku)
  • Parsen von Kommandozeilen mit Apache CLI, arg4j (MIT), TE-CODE (proprietär)
  • Velocity (Apache). Kein Web-Framework, aber oft genutzte Template-Engine für Web-Anwendungen
  • EventBus (Apache). Eine Art JMS für den lokalen Fall
  • BCEL (Apache), ASM (BSD), Javassist (MPL und LGPL). Generieren von Bytecode zur Laufzeit
  • cglib. Nutzt generierten Bytecode für Proxies und Weiteres
  • Quartz (BSD-ähnlich). Job scheduling system
  • ANTLR (BSD). Parser Generator. Alternative: JavaCC
  • JBoss Rules (Apache). Rule-Engine, ehemals Drools
  • rxtx (LGPL). Anbinden der seriellen/parallelen Schnittstelle unter Linux/MaxOS X und Windows
  • Jad 1.5.8e. Ein Java Decompiler. Nicht Quelloffen! Ein visuelles Frontend ist etwa FrontEnd Plus. (Jad ist hier integriert.)
  • LimSee2 (Proprietär) Ein SMIL 2.0 Authoring-Tool
  • JavaBean Aspect (LGPL). Setzt PropertyChangeListener über Annotationen automatisch an eine Bean
  • JSefa (Apache). Serialisiert Beans in die Formate CSV, XML und Flatfile