2011-08-24 55 views
4

前完成我有一個自動加載現有的Eclipse Java項目到工作區中,打開它,並最終運行Java應用程序的Eclipse插件。如果Java項目已經存在於工作區中,則插件會刷新項目相對於文件系統上的項目。如何要等到Eclipse的IProject.create()和IProject.open()正在運行Eclipse的Java項目

當只做刷新插件工作正常,但是當插件第一次通過調用IProject.create()導入項目,打開並運行它,我得到一個錯誤對話框,說該程序未找到。

的IProject.create()和open()被認爲是長時間運行的操作。有沒有辦法等到IProject.create()完成後再調用IProject.open,並在compliting open methodod之後調用project.run()方法?

回答

3

IProject#create()IProject#open()都是阻塞方法,所以你不必做任何特別的事情來「等待它們」 - 當控制權返回到調用站點時,它們分別完成創建和打開項目。

項目是否包含需要編譯Java源代碼?如果是這樣的話,那麼在打開它之後並且在嘗試運行其中的Java程序之前,您應該也可以使用構建。嘗試使用這樣的:

project.build(IncrementalProjectBuilder.FULL_BUILD, monitor); 
+0

非常感謝您! –

+0

@olli:做了那個工作嗎?如果是這樣,請點擊「接受」的答案:) –

+0

是的,它做到了。對不起,我是新來的:) –