Spring Tool Suite忽略了Grails文件resources.groovy

时间:2016-03-09 14:11:21

标签: grails spring-tool-suite

最新版本的STS(例如3.7.3)不再支持Grails了,所以我使用STS Gradle项目作为解决方法,以便使用" Spring Boot App"运行我的Grails应用程序。选项。它的工作正常,但我遇到了以下问题:

问题:

当我通过运行为" Spring Boot App"的STS执行应用程序时,以某种方式忽略了在 resources.groovy 文件下声明的所有bean。请注意,通过控制台运行应用程序" run-app"命令它工作正常。

例外:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'facebookAuthRedirectFilter': Cannot resolve reference to bean 'redirectFailureHandlerExample' while setting bean property 'authenticationFailureHandler'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'redirectFailureHandlerExample' is defined

我的resources.groovy文件

package spring
import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler

beans = {
    redirectFailureHandlerFacebook(SimpleUrlAuthenticationFailureHandler) {
        setDefaultFailureUrl('/login/auth')
    }
}

STS:

版本:3.7.3.RELEASE Build Id:201602250940 平台:Eclipse Mars.2(4.5.2)

的Grails:

Grails版本:3.1.1 Groovy版本:2.4.5 JVM版本:1.7.0_75

似乎 classpath 问题,但我找不到如何解决这个问题。

1 个答案:

答案 0 :(得分:3)

通过更新Groovy编译器设置解决了问题。转到 Window->偏好设置 - > Groovy->编译器,请参阅以下内容:

enter image description here

这样做 resources.groovy 将被编译,并且bean将在运行时可用。