3.x で開始した RCP アプリケーションがあり、現在は 4.x へのソフト マイグレーションを実行しています。
-version、-help などのエンド ユーザー向けのコマンド ライン引数オプションを追加する必要があります。そのため、ユーザーmyApp -version
がコンソールに入力しても、アプリケーションは起動されず、バージョン番号が表示されるだけです。
ありがとうございました!
Application クラスでこれを試してみました。
public Object start(IApplicationContext context) throws Exception {
String[] args = Platform.getCommandLineArgs();
int i = 0;
while (i < args.length)
{
if (args[i].equals("-v"))
{
System.out.println("Version ABC");
return IApplication.EXIT_OK;
}
i++;
}
Display display = PlatformUI.createDisplay();
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();
}
}
UI は起動しませんが、スプラッシュ スクリーンが起動します。getCommandLineArgs()
スプラッシュ画面の開始前に配置できる方法はありますか?
SplashHandler 試行: 自分の SplashHandler をバインドしようとしましたが、同じ問題に遭遇しました。SplashHandler の init メソッドに到達するまでに、スプラッシュ イメージを含むシェルが既に表示されており、クラスのいずれかが介入するために変更を加える前に、このシェルが作成されていると思います。