2012-03-09 10 views
5

rcpアプリケーションをエクスポートし、.exeファイルを作成し、 "Runtime.getRuntime()。exec()"コマンドで実行することは可能ですが、 exeファイルを作成して呼び出すことなく、Javaクラスのメインメソッドから私のrcpアプリケーション。出来ますか?main()からRCPアプリケーションを起動する

答えて

5

私はどのようにOSGiのアプリケーションの管理を実証についてEquinox Application Model Demo wikiページを読んでいました、それはそれはあなたが別のIApplicationを開始する必要がある理由に依存して、あなたに本当に役に立つかわからないけど、とにかく...

サービスを使用してアプリケーションを制御できます。ここに記載されているように、CVSからコードを取得できます。 org.eclipse.equinox.internal.app.AppCommandsクラスのコード、つまり既に定義済みのアプリケーションを起動する_startApp()メソッドでコードをチェックすることもできます。これは、OSGiコンソールでの "startApp"コマンドの実装です。

他のアプリケーションを開始するEclipseインスタンスの開始方法(たとえば、eclipse.application.registerDescriptorsランタイム・オプションsee the help page)を調整する必要があることに注意してください。

希望すると便利です。

2

すでにOSGiを実行していると仮定すると、@Urbiの回答は正しいです。 OSGiを起動する必要がある場合は、SWTがすべてのプラットフォームで正しく動作しないため、メインスレッド、つまりアプリケーションの最初のスレッドからこれを行うように注意してください。

OSGiとアプリケーションを起動する方法については、org.eclipse.core.runtime.adaptor.EclipseStarterをご覧ください。

2

バンドルのフォークorg.eclipse.equinox.launcherを作成するだけです。実行メインに代わる静的main関数(別名エントリポイント)を持つクラスMainを持っています。サブクラス化して実行関数を上書きし、実行したいことをすることができます。

関連する問題