# eclipse RCP Anwendung programmatisch / aus einem anderen Programme starten?



## erazor85 (30. Aug 2010)

Hallo,

ich habe eine kleine eclipse RCP Anwendung geschrieben und möchte diese gerne aus einer anderen heraus starten. Meine suche ergab leider keine Treffer, die mir weitergeholfen haben.

Ich habe soweit herausgefunden, dass die Klasse org.eclipse.equinox.launcher.Main.class den Startvorgang übernimmt. Allerdings weiß ich nicht genau welche Argumente ich übergeben muss.

Kann mir da jemand helfen oder weiß jemand einen anderen Weg?

Danke für eure Hilfe
erazor


----------



## Sonecc (30. Aug 2010)

Folgendes könnte dir helfen:
http://www.java-forum.org/plattformprogrammierung/97048-runtime-getruntime-exec-eclipse.html

Edit: Scrolle einfach etwas runter, relativ weit unten steht ein funktionierender Code-Ausschnitt


----------



## erazor85 (30. Aug 2010)

Hi,

danke für die schnelle Antwort.
Diese Möglichkeit habe ich mir auch schon überlegt, allerdings möchte ich nach dem Start Zugriff auf die Eclipse Komponenten (Views), daher funktioniert es mit Runtime.exec() nicht wie gewünscht.

Ich muss ein Java Objekt an einen View übergeben, deshalb ist der Zugriff notwendig.

Viele Grüße
erazor


----------



## Wildcard (30. Aug 2010)

Du kannst keine Java Objekte an den Launcher übergeben, wie sollte das funktionieren? Ist doch ein eigener Prozess...
Mach es doch zB über Sockets.


----------



## erazor85 (30. Aug 2010)

Wildcard hat gesagt.:


> Du kannst keine Java Objekte an den Launcher übergeben, wie sollte das funktionieren? Ist doch ein eigener Prozess...
> Mach es doch zB über Sockets.



wie das funktionieren soll, war mir eben nicht klar, daher die Frage 
Sockets hab ich mir auch schon überlegt, allerdings hatte ich eben die Hoffnung, dass es einen "einfacheren" Weg gibt...

Es geht im Prinzip nur darum ein Java Objekt, das die Daten enthält, an den View zu übergeben.

Ich werde es nun mal mir Sockets probieren.

Viele Grüße
erazor


----------



## Wildcard (31. Aug 2010)

> Sockets hab ich mir auch schon überlegt, allerdings hatte ich eben die Hoffnung, dass es einen "einfacheren" Weg gibt...


Da fällt mir nur noch der Weg über das System Clipboard ein.


----------



## Sonecc (31. Aug 2010)

Wenns nur um Daten geht, würd ich sie in eine Datei speichern (respektive Datenbank) und sie dann im anderen Programm einfach laden.


----------



## erazor85 (31. Aug 2010)

Hallo zusammen,

eine Datei habe ich als erstes überlegt, allerdings wäre das recht kompliziert, wenn die Verbindung mal bidirektional werden soll. Genau der Fall ist nun eingetreten und ich habe mich dazu entschlossen RMI zu verwenden.

Ich habe jeweils ein Interface für die Services erstellt und diese in ein gemeinsames Jar gepackt, da sie von verschiedenen Projekten verwendet werden.
Nun kann ich einfach die entfernten Methoden aufrufen.

Danke für eure Tipps 

Grüße
erazor


----------



## Wildcard (1. Sep 2010)

Das ist zwar komplizierter als ein Objekt per ObjectOutputStream über ein Socket zu schicken, aber hauptsache es funktioniert...


----------

