2

eclipse でプログラムで更新 (F5) を呼び出そうとしましたが、NotHandledException、handler not found エラーが発生しました。助けていただければ幸いです。

私のクラスでは: NewPreferencePage extends PreferencePage implements IWorkbenchPreferencePage 私は次のコードを持っています:

@Override        
public void dispose() {

    super.dispose();

    final String COMMAND_ID = "org.eclipse.ui.file.refresh";
    IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class);

    try {
        handlerService.executeCommand(COMMAND_ID,null);
    } catch (ExecutionException ex) {
        ex.printStackTrace();
    } catch (NotDefinedException ex) {
        ex.printStackTrace();
    } catch (NotEnabledException ex) {
        ex.printStackTrace();
    } catch (NotHandledException ex) {
        ex.printStackTrace();
    }
}
4

2 に答える 2

1

IResource#refreshLocal()(ほぼ)同じ効果を持つを使用できます。以下は単一ファイルの例ですが、同じ方法でプロジェクトを実行できます。

IResource dfile = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
dfile.create(blahblahblah, true, new NullProgressMonitor()); // obviously you don't need this, it's just an example
dfile.refreshLocal(IResource.DEPTH_ZERO, null);

FAQを参照してください。いつ refreshLocal を使用する必要がありますか? 詳細については。

于 2012-07-19T22:17:36.740 に答える