OSGi Plugin als Service exportieren und verwenden

andkul

Bekanntes Mitglied
Hallo,

ich habe gestern angefangen, mich in RCP (und RAP) einzulesen und ich muss sagen, ich tu mich da echt schwer und habe deshalb einige Fragen:
1) ich muss/kann doch meine Anwendung in der start()-Methode des Activator als Service registrieren, und zwar in PluginA. Dazu habe ich eine TestFactory angemeldet, die eine TestAnwendung erstellt.
Wie kann ich jetzt ein PluginB machen, das dann an die TestFactory von PluginA rankommen kann, um eine TestAnwendung zu erstellen/sich zurückgeben zu lassen?

Muss ich dazu das PluginA exportieren?
Muss ich dazu in PluginB das PluginA als Abhängigkeit definieren?
Kann ich mir in PluginB nicht eine Referenz auf PluginA holen, in dem ich irgendwie Platform.getBundle("id.pluginA") nutze?

Danke schon mal...
 
Zuletzt bearbeitet:

andkul

Bekanntes Mitglied
super, danke für die schnelle Antwort.
Das ist genau das was ich suche, wußte nicht, dass es für OSGi ein extra Tutorial gibt. Ich hatte gleich mit RCP angefangen und da haben mir wohl ein paar Grundlagen gefehlt...

Aber gleich noch eine Frage hinterher:
Ich bekomme ständig folgende Exception

Java:
HTTP ERROR 500
Problem accessing /rap. Reason: 
    An entry point named 'hello' does not exist.
Caused by:
java.lang.IllegalArgumentException: An entry point named 'hello' does not exist.
	at org.eclipse.rwt.internal.lifecycle.EntryPointManager.createUI(EntryPointManager.java:77)
	at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:245)
	at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:114)
	at java.lang.Thread.run(Unknown Source)
	at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:102)

Dabei hab ich ja garkeinen EntryPoint namens hello.
(also, ich versuche eine RAP-Anwendung zu erstellen, deshalb entry point)

Aber warum sucht denn Eclipse nach einem Entry Point namens hello?
Wo außer in der Manifest könnte denn das noch stehen?
 

andkul

Bekanntes Mitglied
nein, da hab ich zuerst gesucht, da steht aber leider nix von hello. Mein Eintry Point heißt test.
Naja, trotzdem danke für die Antwort
 

andkul

Bekanntes Mitglied
Ok, ich bin jetzt gerade dabei das vogella-Tutorial zu machen und kurz vor der Verzweiflung
Ich hab folgendes gemacht:
1. ein Plugin namens quote ohne Activator und mit einem Interface IQuoteService
2. ein Plugin namens quoteservice mit Activator und mit einer Klasse QuoteService, die IQuoteService implementiert
3. ein Plugin namens quoteconsumer mit Activator und einer Consumer mit einem Activator, in dem versucht wird, eine Referenz auf den Service zu bekommen:

quoteservice Activator:
Java:
IQuoteService service = new QuoteService();
		// Third parameter is a hashmap which allows to configure the service
		// Not required in this example
		context.registerService(IQuoteService.class.getName(), service,
				null);
		System.out.println("IQuoteService is registered");

quoteconsumer Activator:
Java:
this.context = context;
		// Register directly with the service
		ServiceReference reference = context
				.getServiceReference(IQuoteService.class.getName());
		service = (IQuoteService) context.getService(reference);
		System.out.println(service.getQuote());

Ich hab alle 3 Plugins exportiert, die liegen jetzt einfach in einem Ordner c:/eclipse_plugins/plugins als jar-Dateien, keine Ahnung ob das so passt.
Die Plugins quoteservice und quoteconsumer haben das plugin quote (bzw. das package mit dem Interface IQuoteService) als Abhängigkeit.

Wenn ich jetzt quoteconsumer laufen lasse, erhalte ich folgende Exception:

Java:
osgi> !SESSION 2011-09-08 15:37:48.447 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments:  -dev file:C:/Users/AndreasK/Dev/EclipseRCPTest/.metadata/.plugins/org.eclipse.pde.core/New_configuration/dev.properties -os win32 -ws win32 -arch x86 -consoleLog -console -consolelog

!ENTRY de.vogella.osgi.quoteservice 4 0 2011-09-08 15:37:48.904
!MESSAGE 
!STACK 0
org.osgi.framework.BundleException: Exception in de.vogella.osgi.quoteservice.Activator.start() of bundle de.vogella.osgi.quoteservice.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
Caused by: java.lang.NullPointerException
	at de.vogella.osgi.quoteservice.Activator.start(Activator.java:25)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
	... 11 more
Root exception:
java.lang.NullPointerException
	at de.vogella.osgi.quoteservice.Activator.start(Activator.java:25)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

!ENTRY de.vogella.osgi.quoteconsumer 4 0 2011-09-08 15:37:48.908
!MESSAGE 
!STACK 0
org.osgi.framework.BundleException: Exception in de.vogella.osgi.quoteconsumer.Activator.start() of bundle de.vogella.osgi.quoteconsumer.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
Caused by: java.lang.NullPointerException: A null service reference is not allowed.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(BundleContextImpl.java:660)
	at de.vogella.osgi.quoteconsumer.Activator.start(Activator.java:24)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
	... 11 more
Root exception:
java.lang.NullPointerException: A null service reference is not allowed.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(BundleContextImpl.java:660)
	at de.vogella.osgi.quoteconsumer.Activator.start(Activator.java:24)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

!ENTRY org.eclipse.osgi 4 0 2011-09-08 15:37:48.911
!MESSAGE Bundle de.vogella.osgi.quoteservice_1.0.0.qualifier [6] is not active.

!ENTRY org.eclipse.osgi 4 0 2011-09-08 15:37:48.912
!MESSAGE Bundle de.vogella.osgi.quoteconsumer_1.0.0.qualifier [7] is not active.

Ich hab das Tutorial jetzt bereits 3 mal von ganz vorne gemacht und immer mit diesem Ergebnis. Was mach in denn da falsch, ich weiß nicht mehr weiter und wäre echt dankbar für etwas Hilfe...
 
T

Tomate_Salat

Gast
hast du alle 3 Bundles installiert?
läuft quoteservice auch (bereits)?
Wenn Quoteservice nicht läuft, dann wurde der Service logischerweise nie registriert und der Service in quoteconsumer ist null (könnte eine Erklärung sein).
 

andkul

Bekanntes Mitglied
wenn ich versuche, den quoteservice zu starte bekomme ich diese (gleiche?) Exception:

Java:
!ENTRY de.vogella.osgi.quoteservice 4 0 2011-09-08 16:11:30.070
!MESSAGE 
!STACK 0
org.osgi.framework.BundleException: Exception in de.vogella.osgi.quoteservice.Activator.start() of bundle de.vogella.osgi.quoteservice.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
Caused by: java.lang.NullPointerException
	at de.vogella.osgi.quoteservice.Activator.start(Activator.java:25)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
	... 11 more
Root exception:
java.lang.NullPointerException
	at de.vogella.osgi.quoteservice.Activator.start(Activator.java:25)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

!ENTRY org.eclipse.osgi 4 0 2011-09-08 16:11:30.082
!MESSAGE Bundle de.vogella.osgi.quoteservice_1.0.0.qualifier [6] is not active.
 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
Nein die gleiche ist es nicht. Bei der ersten motzt er, weil die ServiceReference null ist.

Beim zweiten fliegt iwo in Zeil 25 eine NPE im Activator.

edit
Gib mal in der Konsole [c]ss[/c] ein und überprüfe, ob dort alle deine 3 Bundles gelistet sind (und Aktiv)
 
Zuletzt bearbeitet von einem Moderator:

andkul

Bekanntes Mitglied
ok, hab ich gemacht, mit folgendem Ergebnis:

quote (das Interface) ist Active
quoteservice (die Implementierung) ist Resolved (es gab eine Exception beim start)
quoteconsumer ist Resolved (es gab eine Exception beim start)

was bedeutet das jetzt? Resolved bedeutet doch eigentlich, dass alle Abhängigkeiten aufgelöst werden konnten und das Bundle jetzt gestartet werden kann, oder?
Aber auch bei mehreren start-Versuchen gibt es jedes mal eine Exception und der Status bleibt Resolved.

Das Problem muss doch eigentlich in den Activator-Klassen liegen oder?
Hier nochmal die ganzen Activator-Klassen:
quoteservice
Java:
package de.vogella.osgi.quoteservice;

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;

import de.vogella.osgi.quote.IQuoteService;
import de.vogella.osgi.quoteservice.internal.QuoteService;

public class Activator implements BundleActivator {

	private static BundleContext context;

	static BundleContext getContext() {
		return context;
	}
	
	public void start(BundleContext bundleContext) throws Exception {
		IQuoteService service = new QuoteService();
		context.registerService(IQuoteService.class.getName(), service,	null);
		System.out.println("IQuoteService is registered");
	}
	
	public void stop(BundleContext bundleContext) throws Exception {
		Activator.context = null;
	}
}

quoteconsumer
Java:
package de.vogella.osgi.quoteconsumer;

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;

import de.vogella.osgi.quote.IQuoteService;

public class Activator implements BundleActivator {

	private static BundleContext context;
	private IQuoteService service;

	static BundleContext getContext() {
		return context;
	}

	public void start(BundleContext context) throws Exception {
		this.context = context;
		ServiceReference reference = context
				.getServiceReference(IQuoteService.class.getName());
		service = (IQuoteService) context.getService(reference);
		System.out.println(service.getQuote());
	}

	public void stop(BundleContext context) throws Exception {
		System.out.println(service.getQuote());
	}
}

und hier nochmal die Exception bei dem Versuch quoteservice zu starten
Java:
osgi> start 7
org.osgi.framework.BundleException: Exception in de.vogella.osgi.quoteservice.Ac
tivator.start() of bundle de.vogella.osgi.quoteservice.
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActiv
ator(BundleContextImpl.java:806)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(Bund
leContextImpl.java:755)
        at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Bundl
eHost.java:370)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac
tBundle.java:284)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac
tBundle.java:276)
        at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._st
art(FrameworkCommandProvider.java:252)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.
execute(FrameworkCommandInterpreter.java:155)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(F
rameworkConsole.java:156)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.runConsole(
FrameworkConsole.java:141)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(Framewo
rkConsole.java:105)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
        at de.vogella.osgi.quoteservice.Activator.start(Activator.java:19)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(Bund
leContextImpl.java:783)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActiv
ator(BundleContextImpl.java:774)
        ... 14 more
Nested Exception:
java.lang.NullPointerException
        at de.vogella.osgi.quoteservice.Activator.start(Activator.java:19)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(Bund
leContextImpl.java:783)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActiv
ator(BundleContextImpl.java:774)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(Bund
leContextImpl.java:755)
        at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Bundl
eHost.java:370)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac
tBundle.java:284)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac
tBundle.java:276)
        at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._st
art(FrameworkCommandProvider.java:252)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.
execute(FrameworkCommandInterpreter.java:155)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(F
rameworkConsole.java:156)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.runConsole(
FrameworkConsole.java:141)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(Framewo
rkConsole.java:105)
        at java.lang.Thread.run(Unknown Source)
Nested Exception:
java.lang.NullPointerException
        at de.vogella.osgi.quoteservice.Activator.start(Activator.java:19)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(Bund
leContextImpl.java:783)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActiv
ator(BundleContextImpl.java:774)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(Bund
leContextImpl.java:755)
        at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Bundl
eHost.java:370)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac
tBundle.java:284)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac
tBundle.java:276)
        at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._st
art(FrameworkCommandProvider.java:252)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.
execute(FrameworkCommandInterpreter.java:155)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(F
rameworkConsole.java:156)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.runConsole(
FrameworkConsole.java:141)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(Framewo
rkConsole.java:105)
        at java.lang.Thread.run(Unknown Source)




Vielen Dank nochmal für die prompten Antworten, alleine wäre ich aufgeschmissen...
 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
Ok, das ist jz echt ein blöder Fehler:
[c]context[/c] ist null!
entweder du schreibst im QuoteService in die erste zeile der start-methode:
[c]context=bundleContext[/c];
oder du verwendest in Zeile 19 [c]bundleContext[/c] anstatt [c]context[/c]
 

andkul

Bekanntes Mitglied
ahhhh, ja, das klingt einleuchtend, oh mann, das hat mich jetzt echt viel Zeit gekostet.
Den Quellcode für die Activator-Klassen hab ich aus dem Tutorial kopiert und deshalb nicht sooo genau kontrolliert, ich Idiot. Das werd ich morgen früh gleich mal korrigieren.

Vielen Vielen Dank für deine Hilfe, hoffentlich kann ich jetzt endlich durchstarten :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Eclipse Plugin PreferencePage BooleanFieldEditor Plattformprogrammierung 1
F OSGi Plugin unter Eclipse arbeitet anders als wenn veröffentlicht Plattformprogrammierung 2
R Aktuelle Datei in Plugin bearbeiten Plattformprogrammierung 2
Farbtopf Tomcat durch anderes Plugin neustarten Plattformprogrammierung 0
Farbtopf Plugin Wunsch Plattformprogrammierung 0
J Charset-Problem nach Plugin-Export Plattformprogrammierung 1
J RCP File Path von selected File in Package Explorer für RCP Plugin Plattformprogrammierung 2
TheWhiteShadow RCP Problem mit Plugin Interaktion Plattformprogrammierung 6
R Einfaches Eclipse-Plugin-Beispiel funktioniert nicht Plattformprogrammierung 5
C plugin development environment eclipse Plattformprogrammierung 4
M Keybinding in Eclipse Plugin Plattformprogrammierung 3
M RCP Plugin Extension Point ist NULL Plattformprogrammierung 7
B Eclipse Plugin Einstellungsleiste Plattformprogrammierung 2
M Plugin - Property Page - Get IResource in View Plattformprogrammierung 4
O Eclipse Plugin - Einfachstes Problem, das es gibt. Plattformprogrammierung 2
L RCP Plugin Template erweitern Plattformprogrammierung 2
I Plugin Testen mit Fragment Project Plattformprogrammierung 2
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
D Plugin - Properties ohne PropertyPage speichern Plattformprogrammierung 11
T RCP Eclipse RCP: Wo/wann im Plugin ist workbench initialisiert? Plattformprogrammierung 14
V Eigenständige Applikation als Jar in Plugin einbinden Plattformprogrammierung 2
D Plugin - JUnit - Tests aus einem anderen Projekt ausführen Plattformprogrammierung 7
F [FileLocator] Verzeichnisse im Plugin Plattformprogrammierung 2
L RCP Plugin mit häufig benutzen third libraries Plattformprogrammierung 11
C Eclipse Plugin NoClassDefFoundError Plattformprogrammierung 4
M Eclipse Plugin Entwicklung - NoClassDefFoundError Plattformprogrammierung 10
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
F Ecilpse plugin und MWE Workflow: classpath Problem Plattformprogrammierung 12
M RCP Aktivierung eines CommandHandlers, Änderungen in der plugin.xml wirken sich nicht aus... Plattformprogrammierung 2
R Frage zum RCP Plugin-Mechanismus. Plattformprogrammierung 2
B RCP eigenes Eclipse Plugin wird nicht aufgelöst Plattformprogrammierung 7
P Wie bekomme ich ICompilationUnit aus dem event? bei Eclipse-Plugin Plattformprogrammierung 3
M RCP Resources Plugin nutzen und erweitern... aber wie? Plattformprogrammierung 6
X Datei in einem Eclipse Projekt über Plugin zugreifen Plattformprogrammierung 2
J Plugin wird nicht mit gestartet Plattformprogrammierung 4
D Team Plugin Erweiterung Plattformprogrammierung 4
L RCP Plugin als Bundle geklarieren? Plattformprogrammierung 3
hdi Frage zu Eclipse Plugin Development Plattformprogrammierung 12
D Canvas auf View in Eclipse PlugIn Plattformprogrammierung 3
M Eclipe RCP-Application oder Plugin Einstieg Plattformprogrammierung 6
O Problem mit relativen Pfaden in einem RCP-Plugin Plattformprogrammierung 5
hdi Plugin Icon wird nicht angezeigt Plattformprogrammierung 7
H Bibliotheken in Eclipse-Plugin-Projekt verwenden. Plattformprogrammierung 18
T Java Rcp Plugin laden Plattformprogrammierung 4
H Eclipse-Plugin erstellen Plattformprogrammierung 22
hdi Schwierigkeiten mit Plugin für EPF (Eclipse Process Framework) Plattformprogrammierung 3
S Plugin: View beim Button-Klick austauschen Plattformprogrammierung 7
M Fehler bei Plugin Export für eigene Target Platform Plattformprogrammierung 3
hdi Problem bei Eclipse Plugin Export Plattformprogrammierung 9
H Eclipse Plugin Dateihandling Plattformprogrammierung 2
S Plugin Abhängigkeiten/Circle References Plattformprogrammierung 6
G Plugin einbindung Plattformprogrammierung 9
T Erstellen eines "Ersetzten Plugin" aus GEF Plattformprogrammierung 2
S RCP Anwendung nicht weiterladen bei Exception in Plugin Plattformprogrammierung 2
A Eclipse Plugin Programmierung Dateien Refreshen Plattformprogrammierung 2
F Eclipse Plugin - Rückgabewert einer Methode Plattformprogrammierung 4
M Klasse aus PLugin /Fragment anhand von String laden Plattformprogrammierung 3
M Problem beim Zugriff auf Klasse aus Fragment in einem anderen Plugin Plattformprogrammierung 3
T Plugin eines bestehenden Editors hinzufügen Plattformprogrammierung 2
R Eclipse RCP - Plugin erstellen Plattformprogrammierung 2
lumo [Eclipse RCP] Plugin OHNE visuals Plattformprogrammierung 7
S In einem Plugin main einer anderen Klasse aufrufen Plattformprogrammierung 18
N Mit Plugin externe Dateien liefern Plattformprogrammierung 6
R Eclipse RCP vs. Plugin Entwicklung Plattformprogrammierung 5
K Einträge von einem PlugIn unterbinden. Plattformprogrammierung 6
B Eclipse plugin fuer dummys Plattformprogrammierung 11
P ViewPart dynamisch (Install/Deinstall Plugin) anzeigen in Perspektive? Plattformprogrammierung 12
N Eclipse RCP Plugin aus jar starten Plattformprogrammierung 7
M Eclipse Plugin Depedencies auslesen... Plattformprogrammierung 14
reibi Edclipse PlugIn-Entwicklung Plattformprogrammierung 21
N plugin als dependencie Plattformprogrammierung 3
N Benutzen von eigene Plugin im Plugin Plattformprogrammierung 36
N plugin dependencies innerhalb eines projects halten Plattformprogrammierung 11
R Wo/Wie Eclipse Plugin einhängen für Jar-Export? Plattformprogrammierung 14
Spot84 compareeditor in eclipsercp plugin verhält sich komisch Plattformprogrammierung 3
M Plugin wird nicht mehr geladen Plattformprogrammierung 3
M Dateien in PlugIn ansprechen Plattformprogrammierung 12
N einfaches Projekt in Plugin umwandeln Plattformprogrammierung 3
V [erledigt] Eclipse plugin startet nicht Plattformprogrammierung 3
M External JARs in Plugin Plattformprogrammierung 5
N preference page plugin Plattformprogrammierung 3
N programm in plugin umwandeln Plattformprogrammierung 3
N plugin architektur Plattformprogrammierung 15
S Eclipse-Plugin + Velocity + Files lesen Plattformprogrammierung 3
dzim immer noch Probleme bei PlugIn-Integrierung Plattformprogrammierung 2
C AST (Abstract Syntax Tree)-Generierung für Eclipse-Plugin Plattformprogrammierung 5
M Plugin JUnit Test Plattformprogrammierung 4
F RCP und JMF PlugIn Registrierung Plattformprogrammierung 6
R Plugin-Lokalisierung für Ganymede Plattformprogrammierung 12
G Plugin Export Plattformprogrammierung 4
V Javadoc an Eclipse Plugin anfügen Plattformprogrammierung 4
V JNI in Eclipse Plugin Plattformprogrammierung 17
F Eclipse plugin ausserhalb von Eclipse starten Plattformprogrammierung 4
S RCP mit canvas plugin ! Plattformprogrammierung 2
byte [ Eclipse ] NoClassDefFoundError bei neuem Plugin Plattformprogrammierung 4
rgubler Plugin mit eigenem ClassLoader Plattformprogrammierung 2
G neues project -> Plug-in project. Wie plugin starten? Plattformprogrammierung 6
G subMenue per PlugIn.xml Plattformprogrammierung 3
Linad RCP - Plugin mit Fragment Plattformprogrammierung 2
A Plugin konzepte: OSGI oder JPF? Plattformprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben