Groovy / Grails - 无法解析类

时间:2011-05-29 13:20:14

标签: eclipse grails groovy sts-springsourcetoolsuite

我正在尝试在STS中构建一个Grails项目,并收到许多表单的错误消息:Groovy:unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder以及其他类似Groovy:unable to resolve class org.grails.plugins.springsecurity.service.AuthenticateService的消息 。我在Project Properties中选择了Grails 1.3.7,但是我没有像创建示例项目那样看到'Grails Depedencies'的项目。这是问题吗?我怎样才能把它重新加入?

5 个答案:

答案 0 :(得分:20)

我不知道为什么,但这是我采取的解决问题的步骤:

  1. 右键单击该项目,然后转到Grails工具 - >启用依赖关系管理
  2. Grails工具 - >刷新依赖关系。这正确地添加了'Grails Dependencies'库。
  3. 我仍然有插件错误。我出于某种原因不得不卸载它们,然后为项目重新安装它们以实现它们在那里。

答案 1 :(得分:7)

对于使用Grails> = 2.4

的任何人

如果您使用的是Grails 2.4及更高版本,请使用grails.util.Holders代替org.codehaus.groovy.grails.commons.ConfigurationHolder

阅读文档here部分' 静态持有人'

  

类以下已弃用的类已经过了   从Grails 2.4.x中移除:

     

org.codehaus.groovy.grails.commons.ApplicationHolder   org.codehaus.groovy.grails.commons.ConfigurationHolder   org.codehaus.groovy.grails.plugins.PluginManagerHolder   org.codehaus.groovy.grails.web.context.ServletContextHolder   org.codehaus.groovy.grails.compiler.support.GrailsResourceLoaderHolder   如果您或您安装的任何插件正在使用这些类   将得到编译错误。可以通过更新来纠正问题   改为使用新插件并使用grails.util.Holders。

答案 2 :(得分:2)

如果“刷新依赖关系”已经为您完成了所有操作(正如您在问题评论中指出的那样),请尝试禁用并重新启用依赖关系。如果仍然无法识别Acegi插件,您可能会在之后再次刷新依赖关系。

答案 3 :(得分:0)

当我将工作区从Windows操作系统移动到Ubuntu时,有另一种方法解决了我的问题,请转到

yourWorkSpace -->yourGrailsProject-->setting folder --> org.grails.ide.eclipse.core.prefs, 

然后检查所有grails路径是否正确,因为在我的情况下所有路径都指向windows路径..

希望这个解决。

答案 4 :(得分:0)

我遇到了类似的问题:"无法解析GrailsTestCase类#34;。我检查了我的项目的Grails工具,并观察到依赖管理已启用(IDE - GGTS)。我刚刚禁用了依赖管理,刷新并再次启用它。这解决了我的问题。