2012-10-09 2 views
1

J'utilise Eclipse ast/JDT comme cela est expliqué dans ce post - How can I use the java Eclipse Abstract Syntax Tree in a project outside Eclipse? (ie not an eclipse plugin)espace de travail fermé erreur lorsque vous essayez d'utiliser les ressources/projets en dehors Eclipse

Le problème est que je reçois toujours nulle quand j'ai essayé d'utiliser resolveBinding(), et il est à cause de ne pas utiliser setProject(IJavaProject) or setEnvironment(String[], String[], String[], boolean), comme il est écrit dans ce post - VariableDeclarationFragment node resolveBindind() returns null in eclipse/jdt/ast

Résoudre le problème null retour, j'ai essayé d'utiliser le code mais a fini par obtenir une erreur en disant Workspace is closed.

Qu'est-ce qui pourrait ne pas fonctionner?

enter image description here

J'ai fichier .project dans le mon espace de travail

<?xml version="1.0" encoding="UTF-8"?> 
<projectDescription> 
    <name>AstRewrite4</name> 
    <comment></comment> 
    <projects> 
    </projects> 
    <buildSpec> 
     <buildCommand> 
      <name>org.eclipse.jdt.core.javabuilder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
    </buildSpec> 
    <natures> 
     <nature>org.eclipse.jdt.core.javanature</nature> 
    </natures> 
</projectDescription> 

Répondre

2

Vous n'êtes pas dans un Plug-In/Bundle Runtime, de sorte que le plug-in org.eclipse.core.resources n'a pas été "démarré". L'initialisation de l'espace de travail et des objets associés se produit alors seulement. Vous devrez appeler vous-même la méthode start() sur ResourcesPlugin - pas que je promets que ça va tout résoudre, ou que ça ne vous causera pas d'autres problèmes.

+0

Pourriez-vous élaborer? Ou, pourriez-vous me donner quelques liens pour comprendre comment le faire? – prosseek

+0

Il se plaint que l'espace de travail est fermé. Avez-vous essayé d'appeler Workspace # open()? – nitind

Questions connexes