【问题标题】:Grails app fails to start with creation of bean errorGrails 应用程序无法以创建 bean 错误启动
【发布时间】:2015-08-19 20:18:37
【问题描述】:

我正在将我的 grails 项目从 GGTS 迁移到 Intellij IDEA 14,但我的 grails 应用程序无法启动。我收到以下错误:

Error 2015-08-05 22:59:52,343 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener  - Error initializing the application: Error creating bean with name 'defaultGrailslongConverter': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.web.servlet.LocaleResolver org.grails.databinding.converters.web.LocaleAwareNumberConverter.localeResolver; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
Message: Error creating bean with name 'defaultGrailslongConverter': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.web.servlet.LocaleResolver org.grails.databinding.converters.web.LocaleAwareNumberConverter.localeResolver; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
    Line | Method
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread

Caused by BeanCreationException: Could not autowire field: private org.springframework.web.servlet.LocaleResolver org.grails.databinding.converters.web.LocaleAwareNumberConverter.localeResolver; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread

Caused by NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread
| Error 2015-08-05 22:59:52,376 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener  - Error initializing Grails: Error creating bean with name 'defaultGrailslongConverter': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.web.servlet.LocaleResolver org.grails.databinding.converters.web.LocaleAwareNumberConverter.localeResolver; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
Message: Error creating bean with name 'defaultGrailslongConverter': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.web.servlet.LocaleResolver org.grails.databinding.converters.web.LocaleAwareNumberConverter.localeResolver; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
    Line | Method
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread

Caused by BeanCreationException: Could not autowire field: private org.springframework.web.servlet.LocaleResolver org.grails.databinding.converters.web.LocaleAwareNumberConverter.localeResolver; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread

Caused by NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread
| Error 2015-08-05 22:59:52,379 [localhost-startStop-1] ERROR [localhost].[/]  - Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
Message: Error creating bean with name 'defaultGrailslongConverter': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.web.servlet.LocaleResolver org.grails.databinding.converters.web.LocaleAwareNumberConverter.localeResolver; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
    Line | Method
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread

Caused by BeanCreationException: Could not autowire field: private org.springframework.web.servlet.LocaleResolver org.grails.databinding.converters.web.LocaleAwareNumberConverter.localeResolver; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread

Caused by NoSuchMethodError: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.access$100(Lorg/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor;)Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread
| Error 2015-08-05 22:59:52,384 [localhost-startStop-1] ERROR core.StandardContext  - Error listenerStart
| Error 2015-08-05 22:59:52,465 [localhost-startStop-1] ERROR core.StandardContext  - Context [] startup failed due to previous errors

我该如何解决这个问题?

【问题讨论】:

    标签: grails intellij-idea


    【解决方案1】:

    确保在 Grails BuildConfig.groovy 中分叉模式启用

    【讨论】:

    • 为什么没有分叉模式这个东西甚至会失败?我的团队中有几台机器。我从来没有使用过分叉模式,它总是在 IDEA 下工作。现在,突然之间,在其中一台机器上只弹出这个错误。仅在 IDEA 下,而不是从命令行。这些机器具有相同的操作系统、相同的 JAVA、Grails (2.5.3) 和 IDEA 版本 (2016.3)。我的问题很简短-WTF?我相信在 fork 模式下调试存在问题,因此我不想使用它。此外,这些机器之间的设置应该是一致的。
    • 您是什么时候开始使用 IDEA 2016.3 版本的?这可能是个问题。
    • 我不这么认为,因为我刚刚在具有相同最新 IDEA 的另一台机器上尝试了相同的操作,并且效果很好。
    • 启用分叉模式对我有用。我已经从以前版本的 Grails / InteliJ 中对此进行了注释。
    猜你喜欢
    • 2021-03-18
    • 2021-01-18
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 2012-02-12
    • 2015-06-06
    • 2017-04-23
    • 1970-01-01
    相关资源
    最近更新 更多