eclipse - 如何等到Eclipse IProject.create()和IProject.open()完成后再运行Eclipse Java项目

标签 eclipse eclipse-plugin eclipse-api

我有一个 Eclipse 插件,它自动将现有的 Eclipse Java 项目加载到工作区,打开它并最终运行 Java 应用程序。如果工作区中已存在 Java 项目,则插件会刷新与文件系统上的项目相关的项目。

当只刷新插件工作正常时,但当插件首先通过调用 IProject.create() 导入项目,打开它并运行它时,我收到一个错误对话框,说找不到程序。

IProject.create() 和 open() 被认为是长时间运行的操作。有没有办法等到 IProject.create() 完成然后调用 IProject.open 并在编译打开方法后调用 project.run() 方法?

最佳答案

IProject#create()IProject#open()都是阻塞方法,所以你不需要做任何特殊的事情来“等待它们”——当控制返回到调用站点时,它们分别完成了创建和打开项目。

项目是否包含需要编译的 Java 源代码?如果是这样,您可能还应该在打开项目之后和尝试在其中运行 Java 程序之前构建项目。尝试使用这个:

project.build(IncrementalProjectBuilder.FULL_BUILD, monitor);

关于eclipse - 如何等到Eclipse IProject.create()和IProject.open()完成后再运行Eclipse Java项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171946/

相关文章:

java - 如何以编程方式将java文件复制到工作区?

eclipse-plugin - 如何在 Eclipse 项目资源管理器上下文菜单中添加项目

c - 程序适用于 Eclipse 但不适用于 PuTTy

java - Eclipse SWT 小部件 : Combining two Listeners

java - 如何更新 TableViewer 中的 ProgressBar?

eclipse-pde - Eclipse PDE : Jump to line X and highlight it

java - Eclipse 插件开发 : How do I get the paths for the currently selected project?

java - 缺少 "eclipse-plugin"打包选项

eclipse - 在 eclipse 中将 GWT 应用程序部署到 tomcat 的问题