Frage

Ich bin mit dem folgenden Code:

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();
    }
}

und ich erhalte den folgenden Fehler:

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

Wie kann ich einen Verweis auf den Arbeitsbereich für eine nicht-Eclipse-Plugin bekommen?

(Um hier den Code auszuführen:)

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

War es hilfreich?

Lösung

Erstens kann es einfach bedeutet, dass Sie nicht unter Eclipse-laufen, sondern unter nur eine Standard-Java-Anwendung.

Für eine Eclipse-Plugin, müssen Sie tun es nicht zu früh nennen (wie vor Arbeitsbereich erstellen). Bedeutung für eine nicht-Eclipse-Plugin kann man irgendwie müssen erstellen ein Arbeitsbereich, da Sie nicht in der Lage sein würden, die, die verweisen bereits in Eclipse.

Plus, müssen Sie sicherstellen, dass Sie nicht org.eclipse.core.resources in dem Build-Pfad haben, sondern vielmehr als ein abhängiges Plugin im Plugin manifest.mf Datei. (Siehe dieses Themas )
So ist die ResourcePlugin nicht von Eclipse instanziiert wurde (obwohl man immer noch Anrufe an die ResourcePlugin Klasse mit dem Code gemacht haben könnte).

Siehe auch diese Antwort andere Ideen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top