我正在尝试在 STS 中构建一个 Grails 项目,并收到许多形式的错误消息:Groovy:unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder
以及其他类似Groovy:unable to resolve class org.grails.plugins.springsecurity.service.AuthenticateService
. 我在“项目属性”中选择了 Grails 1.3.7,但没有像创建示例项目时那样看到“Grails 依赖项”项。这是问题吗?我怎样才能重新添加它?
5 回答
我不知道为什么,但这是我为解决问题所采取的步骤:
- 右键单击项目并转到 Grails Tools -> Enable Dependency Management
- Grails 工具 -> 刷新依赖项。这正确地添加了“Grails Dependencies”库。
- 我仍然有插件错误。由于某种原因,我不得不卸载它们,然后重新安装它们以使项目意识到它们在那里。
对于使用 Grails >= 2.4 的任何人
如果您使用 Grails 2.4 及更高版本,请grails.util.Holders
使用org.codehaus.groovy.grails.commons.ConfigurationHolder
.
在此处阅读文档“静态支架”部分
类 以下已弃用的类已从 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 来纠正该问题。
如果“刷新依赖项”已为您完成了所有工作(正如您在对问题的评论中指出的那样),请尝试禁用和重新启用依赖项。如果仍然无法识别 Acegi 插件,您可以稍后再次尝试刷新依赖项。
当我将工作区从 Windows 操作系统移动到 Ubuntu 时,还有另一种方法解决了我的这个问题,请转到
yourWorkSpace -->yourGrailsProject-->setting folder --> org.grails.ide.eclipse.core.prefs,
然后检查所有 grails 路径是否正确,因为在我的情况下,所有路径都指向 Windows 路径..
希望这能解决。
我遇到了类似的问题:“无法解析类 GrailsTestCase”。我检查了我的项目的 Grails 工具并观察到依赖管理已经启用(IDE - GGTS)。我刚刚禁用了依赖管理,刷新并再次启用它。这为我解决了这个问题。