java.lang.ClassNotFoundException:org.grails.core.cfg.DeprecatedGrailsConfig

问题描述 投票:0回答:1

我正在将 Grails 3.3.16 应用程序更新到 Grails 5.3.2。当我 grails run-app 时,我遇到了一个奇怪的异常,看不到源代码在我的代码中,并且无法在线找到解决方案。

希望有人遇到类似的问题,并能提供一些关于此错误的来源。

更新:我认为这里有一个双重问题:1.似乎我正在使用的一个配置已被弃用,2.当 Grails 报告弃用时,它使用了 Grails 5 中不存在的类,所以我明白了错误而不是我需要更改的配置的错误。也许其他人可以有更好的诊断。如果是这样,除了我的配置错误之外,Grails 5 中还存在一个错误。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'convertersConfigurationInitializer': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.grails.web.converters.configuration.ConvertersConfigurationInitializer] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@67424e82]
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:289)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1302)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1219)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
        at grails.boot.GrailsApp.run(GrailsApp.groovy:99)
        at grails.boot.GrailsApp.run(GrailsApp.groovy:485)
        at grails.boot.GrailsApp.run(GrailsApp.groovy:472)
        at grails.boot.GrailsApp$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:148)
        at openehr.opt.gui.Application.main(Application.groovy:8)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.grails.web.converters.configuration.ConvertersConfigurationInitializer] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@67424e82]
        at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:485)
        at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:267)
        ... 28 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/grails/core/cfg/DeprecatedGrailsConfig
        at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
        at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3166)
        at java.base/java.lang.Class.getDeclaredMethods(Class.java:2309)
        at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:467)
        ... 30 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.grails.core.cfg.DeprecatedGrailsConfig
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 34 common frames omitted
spring-boot grails grails-5
1个回答
0
投票

我遇到了同样的问题,基本上我的依赖项之一是添加:

+--- org.grails:grails-datastore-rest-client:5.0.1.RELEASE
|    +--- org.codehaus.groovy:groovy:2.4.5 -> 2.5.14
|    +--- commons-codec:commons-codec:1.5 -> 1.13
|    +--- org.grails:grails-plugin-converters:3.0.12

导致了这个问题。你可以调用

gradlew dependencies
查看所有依赖项以及它们来自哪里 3.0.12 肯定与 Grails 4 或 5 不兼容

当我删除依赖转换器版本时,版本升至 4.0.1 并且项目开始了

© www.soinside.com 2019 - 2024. All rights reserved.