1

从 Grails 2.3.11 升级到 3.0.1 并在执行 grails run-app 时遇到异常:

ERROR grails.boot.GrailsApp - Application startup failed
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'fitnerds.coreservices.controller.v1.FNUserController': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [fitnerds.coreservices.controller.v1.FNUserController]: Constructor threw exception; nested exception is java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'fitnerds.coreservices.controller.v1.FNUserController': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [fitnerds.coreservices.controller.v1.FNUserController]: Constructor threw exception; nested exception is java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1101)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1101) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1046)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1046) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]

    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:686)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:49)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:254)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.springframework.beans.factory.support.AbstractBeanFactoryat java.lang.reflect.Method.invoke(Method.java:606)
doGetBean(AbstractBeanFactory.java:299) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1270)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:43)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.2.3.RELEASE.jar:1.2.3.RELEASE]
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:88)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:686) ~[spring-boot-1.2.3.RELEASE.jar:1.2.3.RELEASE]
    at org.codehaus.groovy.runtime.callsite.CallSiteat org.springframework.boot.SpringApplication.run(SpringApplication.java:320) ~[spring-boot-1.2.3.RELEASE.jar:1.2.3.RELEASE]
ray.defaultCall(CallSiteArray.java:45)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:49) [grails-core-3.0.1.jar:3.0.1]
    at grails.boot.GrailsApp.run(GrailsApp.groovy:254) [grails-core-3.0.1.jar:3.0.1]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:243) [grails-core-3.0.1.jar:3.0.1]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67]
    at services.Application.main(Application.groovy:8)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_67]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_67]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67]
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1270) [springloaded-1.2.3.RELEASE.jar:1.2.3.RELEASE]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [fitnerds.coreservices.controller.v1.FNUserController]: Constructor threw exception; nested exception is java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) [groovy-2.4.3.jar:2.4.3]
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
    at org.grails.spring.beans.factory.OptimizedAutowireCapableBeanFactory$1.instantiate(OptimizedAutowireCapableBeanFactory.java:89)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1094)
roovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) [groovy-2.4.3.jar:2.4.3]
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:43) [groovy-2.4.3.jar:2.4.3]
    ... 29 more
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:88) [groovy-2.4.3.jar:2.4.3]
Caused by: java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) [groovy-2.4.3.jar:2.4.3]
    at org.springframework.web.context.request.RequestContextHolder.currentRequestAttributes(RequestContextHolder.java:131)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110) [groovy-2.4.3.jar:2.4.3]
    at grails.web.api.WebAttributes$Trait$Helper.currentRequestAttributes(WebAttributes.groovy:45)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122) [groovy-2.4.3.jar:2.4.3]
    at grails.web.api.WebAttributes$Trait$Helper$currentRequestAttriat services.Application.main(Application.groovy:8) [main/:na]
tes$1.call(Unknown Source)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [fitnerds.coreservices.controller.v1.FNUserController]: Constructor threw exception; nested exception is java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.grails.spring.beans.factory.OptimizedAutowireCapableBeanFactory$1.instantiate(OptimizedAutowireCapableBeanFactory.java:89) ~[grails-core-3.0.1.jar:3.0.1]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1094) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at fitnerds.coreservices.controller.v1.FNUserController.currentRequestAttributes(FNUserController.groovy)
    ... 29 common frames omitted
    at grails.web.api.WebAttributes$Trait$Helper.getGrailsAttributes(WebAttributes.groovy:54)
    at grails.web.api.WebAttributes$Trait$Helper$getGrailsAttributes$0.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
Caused by: java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request,    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110)
 or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.
    at org.springframework.web.context.request.RequestContextHolder.currentRequestAttributes(RequestContextHolder.java:131) ~[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122)
    at grails.web.api.WebAttributes$Trait$Helper.currentRequestAttributes(WebAttributes.groovy:45) ~[grails-web-common-3.0.1.jar:3.0.1]
    at fitnerds.coreservices.controller.v1.FNUserController.getGrailsAttributes(FNUserController.groovy)
    at grails.web.api.WebAttributes$Trait$Helper.getGrailsApplication(WebAttributes.groovy:134)
    at grails.web.api.WebAttributes$Trait$Helper$getGrailsApplication.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122)
    at fitnerds.coreservices.controller.v1.FNUserController.getGrailsApplication(FNUserController.groovy)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1270)
    at grails.web.api.WebAttributes$Trait$Helper$currentRequestAttributes$1.call(Unknown Source) ~[na:na]
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) [groovy-2.4.3.jar:2.4.3]
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110) [groovy-2.4.3.jar:2.4.3]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122) [groovy-2.4.3.jar:2.4.3]
ovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1844)
    at fitnerds.coreservices.controller.v1.FNUserController.currentRequestAttributes(FNUserController.groovy) ~[main/:na]
    at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1151)
    at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3734)
    at grails.web.api.WebAttributes$Trait$Helper.getGrailsAttributes(WebAttributes.groovy:54) ~[grails-web-common-3.0.1.jar:3.0.1]
    at grails.web.api.WebAttributes$Trait$Helper$getGrailsAttributes$0.call(Unknown Source) ~[na:na]
    at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1163)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) [groovy-2.4.3.jar:2.4.3]
    at fitnerds.coreservices.controller.v1.BaseController.getProperty(BaseController.groovy)
    at fitnerds.coreservices.controller.v1.FNUserController.getProperty(FNUserController.groovy)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110) [groovy-2.4.3.jar:2.4.3]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122) [groovy-2.4.3.jar:2.4.3]
    at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:47)
    at fitnerds.coreservices.controller.v1.FNUserController.getGrailsAttributes(FNUserController.groovy) ~[main/:na]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:304)
    at grails.web.api.WebAttributes$Trait$Helper.getGrailsApplication(WebAttributes.groovy:134) ~[grails-web-common-3.0.1.jar:3.0.1]
    at fitnerds.coreservices.controller.v1.FNUserController.<init>(FNUserController.groovy:46)
    at grails.web.api.WebAttributes$Trait$H at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
elper$getGrailsApplication.call(Unknown Source) ~[na:na]
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) [groovy-2.4.3.jar:2.4.3]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110) [groovy-2.4.3.jar:2.4.3]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122) [groovy-2.4.3.jar:2.4.3]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at fitnerds.coreservices.controller.v1.FNUserController.getGrailsApplication(FNUserController.groovy) ~[main/:na]
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlrConstructorNewInstance(ReflectiveInterceptor.java:1002)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67]
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_67]
    ... 31 more
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_67]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67]
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1270) [springloaded-1.2.3.RELEASE.jar:1.2.3.RELEASE]
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) [groovy-2.4.3.jar:2.4.3]
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) [groovy-2.4.3.jar:2.4.3]
    at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1844) ~[groovy-2.4.3.jar:2.4.3]
    at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1151) ~[groovy-2.4.3.jar:2.4.3]
    at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3734) ~[groovy-2.4.3.jar:2.4.3]
    at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1163) ~[groovy-2.4.3.jar:2.4.3]
    at fitnerds.coreservices.controller.v1.BaseController.getProperty(BaseController.groovy) ~[main/:na]
    at fitnerds.coreservices.controller.v1.FNUserController.getProperty(FNUserController.groovy) ~[main/:na]
    at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:47) ~[groovy-2.4.3.jar:2.4.3]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:304) [gr4.3.jar:2.4.3]
    at fitnerds.coreservices.controller.v1.FNUserController.<init>(FNUserController.groovy:46) ~[main/:na]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_67]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_67]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_67]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_67]
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlrConstructorNewInstance(ReflectiveInterceptor.java:1002) [springloaded-1.2.3.RELEASE.jar:1.2.3.RELEASE]
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    ... 31 common frames omitted
:bootRun FAILED

我已经看到推荐 org.springframework.security:spring-security-core 或将 grails webxml 插件添加到应用程序的依赖项更新的答案。由于这是一个 grails 3.0 项目,我不想将插件迁移到 Grails 3,特别是如果我不知道它是否能解决问题。我相信我以前在我的 Grails 2.3 项目中看到过这种情况。我相信我在依赖项中添加了排除项以摆脱它,但我不确定。以下是我添加到旧项目中的排除项:

dependencies {
        runtime 'org.postgresql:postgresql:9.3-1102-jdbc4'
        compile 'org.codehaus.gpars:gpars:1.2.1'
        compile ('org.codehaus.groovy.modules.http-builder:http-builder:0.6') {
           excludes 'groovy'
        }
        compile ('org.codehaus.spring-security-oauth:spring-security-oauth:3.19.SS3'){
            excludes "spring-beans", "spring-core", "spring-context", "spring-aop"
        }
        compile 'org.springframework.security:spring-security-core:3.2.2.RELEASE'
        compile ('com.amazonaws:aws-java-sdk:1.3.20'){
            excludes "servlet-api"
        }
        compile 'joda-time:joda-time:2.3'
    }

我在我的新项目中尝试了一些相同的排除项,但它所做的只是引发其他编译问题,缺少我排除的库中的类(来自 build.gradle):

configurations {
    compile.exclude module: "commons-logging"
    compile.exclude module: "spring-beans"
}

dependencies {
    compile "org.springframework.boot:spring-boot-starter-logging"
    compile "org.springframework.boot:spring-boot-starter-actuator"
    compile "org.springframework.boot:spring-boot-autoconfigure"
    compile "org.springframework.boot:spring-boot-starter-tomcat"
    compile "org.grails:grails-dependencies"
    compile "org.grails:grails-web-boot"

    compile "org.grails.plugins:hibernate"
    compile "org.grails.plugins:cache"
    compile "org.hibernate:hibernate-ehcache"

    runtime "org.grails.plugins:asset-pipeline"
    runtime "org.grails.plugins:scaffolding"

    testCompile "org.grails:grails-plugin-testing"
    testCompile "org.grails.plugins:geb"

    // Note: It is recommended to update to a more robust driver (Chrome, Firefox etc.)
    testRuntime 'org.seleniumhq.selenium:selenium-htmlunit-driver:2.44.0'

    console "org.grails:grails-console"

    runtime 'org.postgresql:postgresql:9.3-1102-jdbc4'
    compile 'org.codehaus.gpars:gpars:1.2.1'
    compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.6'
    compile 'org.codehaus.spring-security-oauth:spring-security-oauth:3.19.SS3'
    compile 'org.springframework.security:spring-security-core:3.2.2.RELEASE'
    compile 'com.amazonaws:aws-java-sdk:1.3.20'
    compile 'joda-time:joda-time:2.3'

    //Grails plugins
    compile "fitnerds.plugins:email-confirmation:3.0.0"
    compile "fitnerds.plugins:Rest-api-doc:1.0.0"
}

谁能确定此错误可能来自哪个依赖项以及如何在 Grails 3.0.1 项目结构中解决它?

4

0 回答 0