This plugin for Maven 2 is based on the BND tool from Peter Kriens. The way BND works is by treating your project as a big collection of classes (e.g., project code, dependencies, and the class path). The way you create a bundle with BND is to tell it the content of the bundle's JAR file as a subset of the available classes. This plugin wraps BND to make it work specifically with the Maven 2 project structure and to provide it with reasonable default behavior for Maven 2 projects.
Since the 1.4.0 release, this plugin also aims to automate OBR (OSGi Bundle Repository) management. It helps manage a local OBR for your local Maven repository, and also supports remote OBRs for bundle distribution. The plug-in automatically computes bundle capabilities and requirements, using a combination of Bindex and Maven metadata.
Autojar dient dazu, jar-Archive minimaler Größe aus unterschiedlichen Qellen (eigenen Klassen, Verzeichnissen, Archiven) zu erzeugen. Ausgehend von einer oder mehreren Klassen wird der Bytecode rekursiv nach weiteren benutzten Klassen durchsucht; diese werden ggf. aus ihrem Archiv extrahiert und in die Ausgabedatei übernommen. Das resultierende Archiv enthält alle tatsächlich benutzten Klassen, und nur diese. Somit lassen sich z.B. Größe und Ladezeit von Applets klein halten oder Applikationen unabhängig von installierten Bibliotheken machen.