2012-03-09 22 views
5

Sé que es posible exportar mi aplicación rcp, crear un archivo .exe y ejecutarlo con el comando "Runtime.getRuntime(). Exec()", pero me gustaría iniciar mi aplicación rcp del método principal de una clase java sin crear y llamar al exe. ¿Es posible?Inicie la aplicación RCP desde main()

Respuesta

5

No estoy seguro de que es realmente útil para usted, depende de por qué es necesario iniciar otra IApplication, pero de todos modos ...

me gustaría leer la página wiki sobre Equinox Application Model Demo que demuestra cómo el OSGi aplicación de administración el servicio se puede usar para controlar la aplicación. Puede obtener el código del CVS como se describe allí. También puede verificar el código en la clase org.eclipse.equinox.internal.app.AppCommands, concretamente en el método _startApp(), que también inicia una aplicación ya definida, y es la implementación del comando "startApp" en la consola OSGi.

Tenga en cuenta que puede necesitar ajustar la forma en que inicia la instancia de Eclipse desde la que desea iniciar la otra aplicación (por ejemplo, la opción de tiempo de ejecución eclipse.application.registerDescriptors see the help page).

Espero que esto ayude!

2

Suponiendo que ya tiene OSGi ejecutándose, la respuesta de @Urbi es correcta. Si también necesita iniciar OSGi, tenga cuidado de hacerlo desde su propio hilo principal, es decir, el hilo inicial de su aplicación, ya que SWT de lo contrario no funcionará correctamente en todas las plataformas.

Eche un vistazo a org.eclipse.core.runtime.adaptor.EclipseStarter para saber cómo iniciar OSGi y su aplicación.

2

Simplemente crea una horquilla del paquete org.eclipse.equinox.launcher tiene una clase Main con la función principal estática (también conocida como el punto de entrada) que delega en la función de ejecución. Puede subclase sobrescribir la función de ejecución y hacer lo que desea hacer.

Cuestiones relacionadas