STS中Grails的classpath容器 [英] classpath container for Grails in STS

查看:221
本文介绍了STS中Grails的classpath容器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Grails依赖关系中遇到STS问题。有一个条目,指向错误的目录。由于错误,内部STS构建失败:

I have a problem with STS on Grails Dependencies. There is one entry, which is pointing to wrong directory. Internal STS build fails due to an error:

Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".

  java.lang.NullPointerException
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNodeBuilder.toRawType(JDTClassNodeBuilder.java:116)
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNodeBuilder.configureParameterizedType(JDTClassNodeBuilder.java:290)
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNodeBuilder.configureType(JDTClassNodeBuilder.java:56)
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNodeBuilder.build(JDTClassNodeBuilder.java:46)
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.makeClassNode(JDTClassNode.java:399)
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.makeParameter(JDTClassNode.java:379)
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.makeParameters(JDTClassNode.java:366)
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.methodBindingToMethodNode(JDTClassNode.java:339)
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initializeMembers(JDTClassNode.java:256)
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initialize(JDTClassNode.java:227)
    at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.lazyClassInit(JDTClassNode.java:158)
    at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:1087)
    at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:1079)
    at org.codehaus.groovy.ast.ClassNode.getSuperClass(ClassNode.java:1073)
    at org.codehaus.groovy.ast.ClassNode.isDerivedFrom(ClassNode.java:1013)
    at org.codehaus.groovy.classgen.ClassCompletionVerifier.visitCatchStatement(ClassCompletionVerifier.java:448)
    at org.codehaus.groovy.ast.stmt.CatchStatement.visit(CatchStatement.java:41)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitTryCatchFinally(CodeVisitorSupport.java:84)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitTryCatchFinally(ClassCodeVisitorSupport.java:244)
    at org.codehaus.groovy.ast.stmt.TryCatchStatement.visit(TryCatchStatement.java:42)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:35)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:179)
    at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitIfElse(CodeVisitorSupport.java:56)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitIfElse(ClassCodeVisitorSupport.java:219)
    at org.codehaus.groovy.ast.stmt.IfStatement.visit(IfStatement.java:41)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:35)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:179)
    at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:174)
    at org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:45)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitProperty(ClassCodeVisitorSupport.java:142)
    at org.codehaus.groovy.classgen.ClassCompletionVerifier.visitProperty(ClassCompletionVerifier.java:349)
    at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1160)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:51)
    at org.codehaus.groovy.classgen.ClassCompletionVerifier.visitClass(ClassCompletionVerifier.java:74)
    at org.codehaus.groovy.control.CompilationUnit$6.call(CompilationUnit.java:838)
    at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1152)
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:588)
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:566)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:543)
    at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyCompilationUnitDeclaration.processToPhase(GroovyCompilationUnitDeclaration.java:171)
    at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyCompilationUnitDeclaration.generateCode(GroovyCompilationUnitDeclaration.java:1555)
    at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:838)
    at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:137)
    at java.lang.Thread.run(Unknown Source)

Grails命令运行应用程序工作正常。

Grails command run-app works fine.

我通过不必要的链接插件类

C:\Documents and Settings\<myUserName>\.grails\1.3.7\projects\<ProjectName>\plugin-classes

现在我正在寻找一个删除此条目的方法,但在Project-> Build Path-> Configure Build Path - > Libraries 删除按钮被禁用。

And now I'm looking for a method to remove this entry, but under Project->Build Path-> Configure Build Path -> Libraries the remove button is disabled.

如果我查看里面的.classpath文件,我看到以下条目:

If I look inside .classpath file I see following entry:

<classpathentry kind="con" path="org.grails.ide.eclipse.core.CLASSPATH_CONTAINER"/>

Google关于CLASSPATH_CONTAINER未成功。
conf 目录(diff with subversion)中的文件没有变化

Google about CLASSPATH_CONTAINER was unsuccessful. There is no changes in the files inside conf directory (diff with subversion)

我已经尝试了: / p>

I've already tried to do:


  1. 删除.ivy2文件夹

  2. 删除.grails文件夹

  3. grails clean

  4. Grails->刷新依赖关系

  5. 项目 - >清洁

  6. 删除项目并导入从SVN的最后一个版本

  7. 删除工作区并创建新的一个

  8. 1..7

  1. delete .ivy2 folder
  2. delete .grails folder
  3. grails clean
  4. Grails-> refresh dependencies
  5. Project -> clean
  6. Delete Project and import the last version from SVN
  7. Delete Workspace and create fresh one
  8. any combination of 1..7

请帮助!

推荐答案

以下步骤解决了我的问题:


Following steps have solved my problem:


  1. 删除.grails文件夹

  2. 删除.ivy2文件夹

  3. 删除工作区

  4. 重新安装eclipse(这是缺少的一步)

  5. 列表项目

  6. 将项目导入新的工作区

  7. 确保此项目没有升级grails和groovy编译器版本。

  1. delete .grails folder
  2. delete .ivy2 folder
  3. delete workspace
  4. reinstall eclipse (that was the missing step)
  5. List item
  6. import the project into new workspace
  7. make sure that grails and groovy compiler versions are not upgraded for this project.

我不知道可以拒绝哪一步。
Ralf,感谢您的建议。

I'm not sure which step can be obmitted. Ralf, thanks for suggestion.

这篇关于STS中Grails的classpath容器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆