2

我正在运行以下代码:

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

4

1 回答 1

0

首先,它可能只是意味着您不是在 Eclipse 下运行,而是在标准 Java 应用程序下运行。

对于 Eclipse 插件,您需要不要过早调用它(例如在创建工作区之前)。对于非 Eclipse 插件的含义,您可能必须以某种方式创建一个工作区,因为您将无法引用 Eclipse 中已经存在的那些。

另外,您必须确保您没有org.eclipse.core.resources在构建路径中,而是在插件 manifest.mf 文件中作为依赖插件。(请参阅此线程
因此ResourcePlugineclipse 没有实例化 (尽管您仍然可以ResourcePlugin使用代码调用该类)。

另请参阅此答案以了解其他想法。

于 2009-06-20T08:09:33.917 回答