spring-brick icon indicating copy to clipboard operation
spring-brick copied to clipboard

Why do I report this error when starting the project? This package has been relied on. Is there something wrong with the project itself? Hope to get your answer.

Open Alexzkh opened this issue 3 years ago • 6 comments

Caused by: java.lang.NoClassDefFoundError: org/springframework/scheduling/quartz/QuartzJobBean at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?] at java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[?:?] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[?:?] at java.net.URLClassLoader.defineClass(URLClassLoader.java:550) ~[?:?] at java.net.URLClassLoader$1.run(URLClassLoader.java:458) ~[?:?] at java.net.URLClassLoader$1.run(URLClassLoader.java:452) ~[?:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:?] at java.net.URLClassLoader.findClass(URLClassLoader.java:451) ~[?:?] at org.pf4j.PluginClassLoader.loadClass(PluginClassLoader.java:128) ~[pf4j-3.5.0.jar:3.5.0] at java.lang.Class.forName0(Native Method) ~[?:?] at java.lang.Class.forName(Class.java:398) ~[?:?] at com.gitee.starblues.factory.process.pipe.classs.PluginClassProcess.registry(PluginClassProcess.java:79) ~[classes/:?] at com.gitee.starblues.factory.process.pipe.PluginPipeProcessorFactory.registry(PluginPipeProcessorFactory.java:65) ~[classes/:?] at com.gitee.starblues.factory.DefaultPluginFactory.registry(DefaultPluginFactory.java:86) ~[classes/:?] at com.gitee.starblues.integration.operator.DefaultPluginOperator.initPlugins(DefaultPluginOperator.java:119) ~[classes/:?] at com.gitee.starblues.integration.operator.PluginOperatorWrapper.initPlugins(PluginOperatorWrapper.java:41) ~[classes/:?] at com.gitee.starblues.integration.application.DefaultPluginApplication.initialize(DefaultPluginApplication.java:63) ~[classes/:?] at com.gitee.starblues.integration.application.AutoPluginApplication.afterPropertiesSet(AutoPluginApplication.java:60) ~[classes/:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:609) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.3.jar:5.3.3] ... 20 more Caused by: java.lang.ClassNotFoundException: org.springframework.scheduling.quartz.QuartzJobBean at org.pf4j.PluginClassLoader.loadClass(PluginClassLoader.java:144) ~[pf4j-3.5.0.jar:3.5.0] at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?] at java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[?:?] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[?:?] at java.net.URLClassLoader.defineClass(URLClassLoader.java:550) ~[?:?] at java.net.URLClassLoader$1.run(URLClassLoader.java:458) ~[?:?] at java.net.URLClassLoader$1.run(URLClassLoader.java:452) ~[?:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:?] at java.net.URLClassLoader.findClass(URLClassLoader.java:451) ~[?:?] at org.pf4j.PluginClassLoader.loadClass(PluginClassLoader.java:128) ~[pf4j-3.5.0.jar:3.5.0] at java.lang.Class.forName0(Native Method) ~[?:?] at java.lang.Class.forName(Class.java:398) ~[?:?] at com.gitee.starblues.factory.process.pipe.classs.PluginClassProcess.registry(PluginClassProcess.java:79) ~[classes/:?] at com.gitee.starblues.factory.process.pipe.PluginPipeProcessorFactory.registry(PluginPipeProcessorFactory.java:65) ~[classes/:?] at com.gitee.starblues.factory.DefaultPluginFactory.registry(DefaultPluginFactory.java:86) ~[classes/:?] at com.gitee.starblues.integration.operator.DefaultPluginOperator.initPlugins(DefaultPluginOperator.java:119) ~[classes/:?] at com.gitee.starblues.integration.operator.PluginOperatorWrapper.initPlugins(PluginOperatorWrapper.java:41) ~[classes/:?] at com.gitee.starblues.integration.application.DefaultPluginApplication.initialize(DefaultPluginApplication.java:63) ~[classes/:?] at com.gitee.starblues.integration.application.AutoPluginApplication.afterPropertiesSet(AutoPluginApplication.java:60) ~[classes/:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:609) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.3.jar:5.3.3] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.3.jar:5.3.3] ... 20 more

Alexzkh avatar Sep 07 '21 14:09 Alexzkh

This error is probably the wrong configuration, but I don't know which configuration is wrong. I think it is very necessary for the open source project to explain this project. especially those error prone configurations

Alexzkh avatar Sep 07 '21 14:09 Alexzkh

If the plugin integrates dependencies, it is recommended that the dependencies be placed in the main program. It is not recommended that the plug-in load dependencies.

Detailed reference case: https://gitee.com/starblues/springboot-plugin-framework-example

starblues-zhuo avatar Sep 08 '21 01:09 starblues-zhuo

thank you very much .The background I use is like this , I want the plugin to implement controllers that are segmented according to business. These controllers depend on another module of mine.now I have an another questions.the error is below:

java.lang.RuntimeException: The extension has been initialized at com.gitee.starblues.extension.ExtensionInitializer.initialize(ExtensionInitializer.java:53) at com.gitee.starblues.integration.listener.DefaultInitializerListener.before(DefaultInitializerListener.java:24) at com.gitee.starblues.integration.listener.PluginInitializerListenerFactory.before(PluginInitializerListenerFactory.java:30) at com.gitee.starblues.integration.operator.DefaultPluginOperator.initPlugins(DefaultPluginOperator.java:96) at com.gitee.starblues.integration.operator.PluginOperatorWrapper.initPlugins(PluginOperatorWrapper.java:41) at com.gitee.starblues.integration.application.DefaultPluginApplication.initialize(DefaultPluginApplication.java:67) at com.gitee.starblues.integration.application.AutoPluginApplication.afterPropertiesSet(AutoPluginApplication.java:60) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) 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:944) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:917) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:582) at com.gitee.starblues.factory.process.pipe.PluginPipeApplicationContextProcessor.registry(PluginPipeApplicationContextProcessor.java:59) at com.gitee.starblues.factory.process.pipe.PluginPipeProcessorFactory.registry(PluginPipeProcessorFactory.java:65) at com.gitee.starblues.factory.DefaultPluginFactory.registry(DefaultPluginFactory.java:86) at com.gitee.starblues.integration.operator.DefaultPluginOperator.initPlugins(DefaultPluginOperator.java:124) at com.gitee.starblues.integration.operator.PluginOperatorWrapper.initPlugins(PluginOperatorWrapper.java:41) at com.gitee.starblues.integration.application.DefaultPluginApplication.initialize(DefaultPluginApplication.java:67) at com.gitee.starblues.integration.application.AutoPluginApplication.afterPropertiesSet(AutoPluginApplication.java:60) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) 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:944) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:917) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:582) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1311) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) at com.zqykj.AnalysisServiceApplication.main(AnalysisServiceApplication.java:14) 2021-09-08 11:24:52.619 WARN 746120 --- [ main] .s.f.p.p.PluginInterceptorsPipeProcessor : Not found AbstractHandlerMapping, Plugin interceptor can't use org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping' available at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:351) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:342) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1171) at com.gitee.starblues.factory.process.post.bean.PluginControllerPostProcessor.(PluginControllerPostProcessor.java:45) at com.gitee.starblues.factory.process.post.PluginPostProcessorFactory.initialize(PluginPostProcessorFactory.java:37) at com.gitee.starblues.factory.DefaultPluginFactory.initialize(DefaultPluginFactory.java:69) at com.gitee.starblues.integration.operator.DefaultPluginOperator.initPlugins(DefaultPluginOperator.java:107) at com.gitee.starblues.integration.operator.PluginOperatorWrapper.initPlugins(PluginOperatorWrapper.java:41) at com.gitee.starblues.integration.application.DefaultPluginApplication.initialize(DefaultPluginApplication.java:67) at com.gitee.starblues.integration.application.AutoPluginApplication.afterPropertiesSet(AutoPluginApplication.java:60) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) 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:944) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:917) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:582) at com.gitee.starblues.factory.process.pipe.PluginPipeApplicationContextProcessor.registry(PluginPipeApplicationContextProcessor.java:59) at com.gitee.starblues.factory.process.pipe.PluginPipeProcessorFactory.registry(PluginPipeProcessorFactory.java:65) at com.gitee.starblues.factory.DefaultPluginFactory.registry(DefaultPluginFactory.java:86) at com.gitee.starblues.integration.operator.DefaultPluginOperator.initPlugins(DefaultPluginOperator.java:124) at com.gitee.starblues.integration.operator.PluginOperatorWrapper.initPlugins(PluginOperatorWrapper.java:41) at com.gitee.starblues.integration.application.DefaultPluginApplication.initialize(DefaultPluginApplication.java:67) at com.gitee.starblues.integration.application.AutoPluginApplication.afterPropertiesSet(AutoPluginApplication.java:60) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) 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:944) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:917) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:582) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1311) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) at com.zqykj.AnalysisServiceApplication.main(AnalysisServiceApplication.java:14)

Alexzkh avatar Sep 08 '21 03:09 Alexzkh

My problem is solved. Let me repeat my question.

At first, I want to find the beans that my main program has injected into the spring container in my plugin. I try to scan and register these beans with 'Configuration' and 'ComponentScan' annotation in my plugin.

But I failed. It always tells me that these beans have been instantiated. It is also true that when the main program starts, it has been scanned and registered. However, I can't get the beans instantiated by the main program in the plugin.

Later, I decided to read the code in the case you sent me. Then, I found the 'getmainbean' method in 'Pluginutils'. It really solved my problem. I got the instantiated bean in my main program. It's really exciting. It makes me very uncomfortable all day on Tuesday.

Finally the dependency of this integration plugin is really very practical. It is very convenient and powerful.

Thank you very much for your answers and help.

Alexzkh avatar Sep 08 '21 08:09 Alexzkh

No problem!All documentation of the framework is available on the official website: http://www.starblues.cn , but the official documentation of the framework is in Chinese.

starblues-zhuo avatar Sep 08 '21 08:09 starblues-zhuo

ok . i know something a little about Chinese .

Alexzkh avatar Sep 08 '21 08:09 Alexzkh