Eclipse工作区引用eclipse插件外部

时间:2009-06-20 07:50:19

标签: java eclipse workspace

我正在运行以下代码:

import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;

public class WorkspaceTest {
    public static void main(String[] args) {
        IWorkspace workspace = ResourcesPlugin.getWorkspace();
    }
}

我收到以下错误:

Exception in thread "main" java.lang.IllegalStateException: Workspace is closed.

如何获取非eclipse插件的工作区引用?

(为了能够在这里运行代码:)

http://www.ssw.uni-linz.ac.at/Teaching/Lectures/KompTech/JDT.pdf

1 个答案:

答案 0 :(得分:0)

首先,它可以简单地表示您不是在Eclipse下运行,而是仅在标准Java应用程序下运行。

对于eclipse插件,你需要做的就是不要太快调用它(比如在创建工作区之前)。非eclipse插件的含义,您可能必须以某种方式创建工作空间,因为您将无法引用已经存在于eclipse中的工作空间。

另外,您必须确保在构建路径中没有org.eclipse.core.resources,而是在插件manifest.mf文件中作为依赖插件。 (见this thread
所以ResourcePlugin没有被eclipse实例化(尽管你仍然可以用代码调用ResourcePlugin类。)

另见this answer其他想法。