Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to start spring boot server

I am new to spring boot and when I try to start my server , I get the following Exception. I understand that this has something to do with dependency conflict, but still unable to figure it out.I am using maven to manage my dependencies.Please help

 Exception in thread "main" java.lang.IllegalArgumentException:  LoggerFactory is not a Logback LoggerContext but Logback is on the  classpath. Either remove Logback or the competing implementation  (class org.slf4j.impl.Log4jLoggerFactory) Object of class  [org.slf4j.impl.Log4jLoggerFactory] must be an instance of class  ch.qos.logback.classic.LoggerContext   at  org.springframework.util.Assert.isInstanceOf(Assert.java:339)  at  org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:93)         at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithSensibleDefaults(AbstractLoggingSystem.java:62)         at   org.springframework.boot.logging.AbstractLoggingSystem.beforeInitialize(AbstractLoggingSystem.java:45)     at  org.springframework.boot.logging.logback.LogbackLoggingSystem.beforeInitialize(LogbackLoggingSystem.java:69)     at   org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:135)     at   org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:98)     at   org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:100)     at   org.springframework.boot.context.event.EventPublishingRunListener.started(EventPublishingRunListener.java:54)     at   org.springframework.boot.SpringApplication.run(SpringApplication.java:276)     at   org.springframework.boot.SpringApplication.run(SpringApplication.java:952)     at   org.springframework.boot.SpringApplication.run(SpringApplication.java:941)     at org.magnum.mobilecloud.video.Application.main(Application.java:30) 

Resolved:Add the following to the POM.xml

    <dependency>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-starter-web</artifactId>         <exclusions>             <exclusion>                 <groupId>org.springframework.boot</groupId>                 <artifactId>spring-boot-starter-tomcat</artifactId>             </exclusion>             <exclusion>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-logging</artifactId>             </exclusion>     </exclusions>     </dependency>     <dependency>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-starter-log4j</artifactId>     </dependency> 
like image 761
jith912 Avatar asked Sep 26 '14 14:09

jith912


People also ask

What is spring boot Servletinitializer?

Spring Boot Servlet Initializer class file allows you to configure the application when it is launched by using Servlet Container. The code for Spring Boot Application class file for JAR file deployment is given below − package com. tutorialspoint. demo; import org.

What is ServletWebServerFactory?

Interface ServletWebServerFactory This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference. @FunctionalInterface public interface ServletWebServerFactory extends WebServerFactory. Factory interface that can be used to create a WebServer .

What is the use of @SpringBootApplication?

Spring Boot @SpringBootApplication annotation is used to mark a configuration class that declares one or more @Bean methods and also triggers auto-configuration and component scanning. It's same as declaring a class with @Configuration, @EnableAutoConfiguration and @ComponentScan annotations.


2 Answers

Excluding logback-classic from spring-boot-starter-web and spring-boot-starter-actuator worked for me

compile("org.springframework.boot:spring-boot-starter-web:1.1.10.RELEASE") {     exclude module: "spring-boot-starter-tomcat"     exclude module: "spring-boot-starter-logging"     exclude module: "logback-classic" } compile("org.springframework.boot:spring-boot-starter-actuator:1.1.10.RELEASE") {     exclude module: "logback-classic" } 
like image 137
ianaz Avatar answered Oct 17 '22 22:10

ianaz


Add this to your build.gradle

configurations.all {         exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'         exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'         exclude group: 'org.springframework.boot', module: 'logback-classic' } 
like image 24
Quy Tang Avatar answered Oct 17 '22 22:10

Quy Tang