Ссылка на рабочую область Eclipse вне плагина eclipse - PullRequest
2 голосов
/ 20 июня 2009

Я использую следующий код:

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.

Как получить ссылку на рабочее пространство для плагина без затмения?

(чтобы можно было запустить код здесь:)

http://www.ssw.uni -linz.ac.at / Обучение / Лекции / KOMPTECH / JDT.pdf

1 Ответ

0 голосов
/ 20 июня 2009

Во-первых, это может просто означать, что вы работаете не в Eclipse, а в обычном Java-приложении.

Для плагина eclipse вам нужно сделать так, чтобы он не вызывался слишком рано (как до создания рабочей области). Это означает, что для плагина без затмения вам, возможно, придется каким-то образом создать рабочее пространство, поскольку вы не сможете ссылаться на те, что уже присутствуют в Eclipse.

Кроме того, вы должны убедиться, что у вас нет org.eclipse.core.resources в пути сборки, а скорее как зависимый плагин в файле manifest.mf плагина. (см. эту тему )
Таким образом, ResourcePlugin не был создан экземпляром Eclipse (хотя вы все равно могли сделать вызовы к классу ResourcePlugin с кодом).

См. Также этот ответ для других идей.

...