CallToPower/Matterhorn-remote-inbox — pull request #1 by bwulff (2012-04-02 21:36:20+00:00)
Title: Maven OSGI Projektstruktur angelegt

Ich hab das Projekt mal auf die gleiche Struktur wie Matterhorn gebracht: ein Parent POM und darunter ein /modules Verzeichnis mit Unterprojekten, die auf das Parent POM referenzieren. So kannst man jetzt das ganze Projekt wie Matterhorn bauen und deployen mit

mvn install -DdeployTo=/path/to/felix

Außerdem habe ich das Maven SCR Plugin [1] in das Projekt gehängt. Das hat den Vorteil, dass wir uns nur noch minimal um die OSGI-Sachen kümmern müssen (Activator wird automatisch generiert etc.). Wenn Du willst, dass eine Klasse als OSGI Service läuft schreibst Du einfach folgende Annotations drüber:

@Component(name="Name",immediate=true)
@Service
public class ...

Wenn Du nen anderen Service benutzen willst:

@Reference
private WurstService wurstService

Das SCR Plugin kümmert sich darum den Component Descriptor zu generieren (src/main/resources/OSGI-INF/*.xml) der den Activator ersetzt.

[1] http://felix.apache.org/site/apache-felix-maven-scr-plugin.html