2016-06-22 29 views
0

Ich fange gerade an zu lernen, wie man ein bnd OSGI Projekt baut. Ich versuche, ein sehr einfaches Projekt ohne Fehlermeldung auszuführen, aber wenn ich zu localhost gehe, zeigt es "HTTP ERROR: 404" an.bnd osgi Projekt läuft nicht durch den Firefox

die einfache Klasse:

enter image description here

eine Activator Klasse: enter image description here

Rest Bauabhängigkeiten

enter image description here

Run Abhängigkeiten

enter image description here

http Fehler:

enter image description here

Vielen Dank für Ihre hilft !!

Antwort

3

Ihre Klasse ist mit Anmerkungen zu jax-rs versehen und veröffentlicht einen OSGi-Dienst. Wenn die Services als REST-Ressourcen verfügbar gemacht werden, hängt dies von den installierten Paketen ab.

Sie müssen ein Paket installieren, das nach solchen Diensten sucht und die REST-Endpunkte für sie erstellt.

Siehe enter link description here Ich denke, dass Sie mindestens auch das org.amdatu.web.wink-Bundle zu Ihrer bdnrun-Datei hinzufügen müssen.

+0

Ich habe hinzugefügt mehrere Bündel (web.wink enthalten) und versuchen, eine Aktivator-Klasse zu erstellen, aber es funktioniert nicht ... I bin neu in diesem, danke für Ihre Hilfe – xiao

+0

Sie verwenden derzeit deklarative Dienste. Sie sollten also keinen Aktivator verwenden. Wenn Sie beim Ausführen einer Komponente etwas ausführen möchten, verwenden Sie die Annotation @Activate. –

+0

Ich habe es gelöscht. Es funktioniert immer noch nicht. – xiao

4

Das neueste 2.0.4-Release des org.amdatu.web.rest.wink-Pakets spielt nicht gut mit Felix Http Jetty 3.x.

Wenn Sie die Version dieses Bundles an die Version 2.0.3 anheften, sollten die Dinge wie erwartet funktionieren. Jetzt diese Änderung die org.amdatu.web.rest.wink Eintrag runbnd.bndrun -runbundles zu:

org.amdatu.web.rest.wink;version='[2.0.3,2.0.3]'

+0

Ich denke, das ist es. Das Demobündel hatte das gleiche Problem, siehe Mailingliste: http://lists.amdatu.org/pipermail/users/2016-May/000455.html – Jeroen