-1
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-11-01 16:20:38.322 ERROR 15820 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'studentController' defined in file [D:\Bhuvana\springwithH2DB\springwithH2DB\target\classes\com\example\h2Database\springwithH2DB\StudentController.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.example.h2Database.springwithH2DB.StudentController]: Constructor threw exception; nested exception is java.lang.ClassCastException: class org.jboss.logging.Log4j2Logger cannot be cast to class org.apache.logging.log4j.Logger (org.jboss.logging.Log4j2Logger and org.apache.logging.log4j.Logger are in unnamed module of loader 'app')
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1334) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1232) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.12.jar:5.3.12]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.12.jar:5.3.12]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.5.6.jar:2.5.6]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-2.5.6.jar:2.5.6]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-2.5.6.jar:2.5.6]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) ~[spring-boot-2.5.6.jar:2.5.6]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-2.5.6.jar:2.5.6]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332) ~[spring-boot-2.5.6.jar:2.5.6]
    at com.example.h2Database.springwithH2DB.SpringwithH2DbApplication.main(SpringwithH2DbApplication.java:11) ~[classes/:na]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.example.h2Database.springwithH2DB.StudentController]: Constructor threw exception; nested exception is java.lang.ClassCastException: class org.jboss.logging.Log4j2Logger cannot be cast to class org.apache.logging.log4j.Logger (org.jboss.logging.Log4j2Logger and org.apache.logging.log4j.Logger are in unnamed module of loader 'app')
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:224) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) ~[spring-beans-5.3.12.jar:5.3.12]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1326) ~[spring-beans-5.3.12.jar:5.3.12]
    ... 17 common frames omitted
Caused by: java.lang.ClassCastException: class org.jboss.logging.Log4j2Logger cannot be cast to class org.apache.logging.log4j.Logger (org.jboss.logging.Log4j2Logger and org.apache.logging.log4j.Logger are in unnamed module of loader 'app')
    at com.example.h2Database.springwithH2DB.StudentController.<init>(StudentController.java:17) ~[classes/:na]
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[na:na]
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:211) ~[spring-beans-5.3.12.jar:5.3.12]
    ... 19 common frames omitted
duffymo
  • 305,152
  • 44
  • 369
  • 561

2 Answers2

3

Can't program successfully without reading.

Look at the stack trace. You've got a problem with a controller dependency. There's confusion about log4j and log4j2. Be sure you have the dependencies set up properly. I would suggest going with log4j2.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'studentController' defined in file [D:\Bhuvana\springwithH2DB\springwithH2DB\target\classes\com\example\h2Database\springwithH2DB\StudentController.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.example.h2Database.springwithH2DB.StudentController]: Constructor threw exception; nested exception is java.lang.ClassCastException: class org.jboss.logging.Log4j2Logger cannot be cast to class org.apache.logging.log4j.Logger (org.jboss.logging.Log4j2Logger and org.apache.logging.log4j.Logger are in unnamed module of loader 'app')
duffymo
  • 305,152
  • 44
  • 369
  • 561
0

As @duffymo mentioned, it is a problem of the Imported Class that handles the issue of logs.

I suggest using Log4j2 natively, bypassing SLF4J, or apache commons.


Import

import org.apache.logging.log4j.Logger;

Create the Logger Object

Private static final logger logger = org.apache.logging.log4j.LogManager.getLogger (ProductService.class);

Object implementation

logger.error ("message");
logger.info ("message");
etc.