Hi Leute,
also mein Problem ist folgendes:
Ich habe eine Applikation die selbstständig läuft (is ne Simulation und nutzt unter anderem auch slick und swt), d.h. sie wird über eine main() Funktion gestartet und läuft dann so zusagen in einem eigenen Lifecircle.
Soweit so gut. Nun soll aber diese Applikation (später dann mehrere) über eine RCP Applikation aufrufbar gemacht werden. Die RCP Applikation soll am Anfang nur eine Konfigurationsaufgaben erfüllen (das ist aber auch kein Problem). So nun habe ich mich etwas mit RCP beschäftigt und weiss auch das man ein Bundle erstellen kann, indem man (ich nutze Eclipse) ein neues Project erstellt "Plugin from existing jar ..." und dann alle jars, d.h. insbesondere die welche von meiner Application als libraries verwendet einfügt.
Ich habe dann ein Plugin erstellt, dass eine RCP Application erstellt und habe über Dependencies das oben genannte Bundle eingefügt.
In der Klasse Application habe ich dann folgendes eingefügt:
Nun ist das Problem, dass ich folgende Fehlermeldung bekomme:
Zum einen frage ich mich natürlich was diese Meldung zu bedeuten hat. Denn die Klasse Applikation gibt es in test2 (die Bezeichnung is nur temporär, da ich gerade erst teste) und sie startet auch einwandfrei, wenn das bundle nicht integriert ist.
Die zweite Frage ist, ob man eine andere Application so überhaupt starten kann, sollte oder ob es andere Wege gibt.
Vielen Dank schonmal und viele Grüße
also mein Problem ist folgendes:
Ich habe eine Applikation die selbstständig läuft (is ne Simulation und nutzt unter anderem auch slick und swt), d.h. sie wird über eine main() Funktion gestartet und läuft dann so zusagen in einem eigenen Lifecircle.
Soweit so gut. Nun soll aber diese Applikation (später dann mehrere) über eine RCP Applikation aufrufbar gemacht werden. Die RCP Applikation soll am Anfang nur eine Konfigurationsaufgaben erfüllen (das ist aber auch kein Problem). So nun habe ich mich etwas mit RCP beschäftigt und weiss auch das man ein Bundle erstellen kann, indem man (ich nutze Eclipse) ein neues Project erstellt "Plugin from existing jar ..." und dann alle jars, d.h. insbesondere die welche von meiner Application als libraries verwendet einfügt.
Ich habe dann ein Plugin erstellt, dass eine RCP Application erstellt und habe über Dependencies das oben genannte Bundle eingefügt.
In der Klasse Application habe ich dann folgendes eingefügt:
Java:
public Object start(IApplicationContext context) throws Exception {
Display display = PlatformUI.createDisplay();
[B]ApplicationControl app = new ApplicationControl();
app.start();[/B]
try {
int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
if (returnCode == PlatformUI.RETURN_RESTART)
return IApplication.EXIT_RESTART;
else
return IApplication.EXIT_OK;
} finally {
display.dispose();
}
}
Nun ist das Problem, dass ich folgende Fehlermeldung bekomme:
Java:
!ENTRY org.eclipse.osgi 4 0 2011-08-29 13:28:28.292
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: Application "test2.application" could not be found in the registry. The applications available are: org.eclipse.ant.core.antRunner, org.eclipse.contribution.weaving.jdt.weavingtest, org.eclipse.equinox.app.error, org.eclipse.jdt.core.JavaCodeFormatter.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
Zum einen frage ich mich natürlich was diese Meldung zu bedeuten hat. Denn die Klasse Applikation gibt es in test2 (die Bezeichnung is nur temporär, da ich gerade erst teste) und sie startet auch einwandfrei, wenn das bundle nicht integriert ist.
Die zweite Frage ist, ob man eine andere Application so überhaupt starten kann, sollte oder ob es andere Wege gibt.
Vielen Dank schonmal und viele Grüße