Mi SpringBootLoginController clase tirar este error( no se puede iniciar incrustado contenedor) que se muestra a continuación cuando he empezado la springboot aplicación.Es un hola mundo primavera de inicio de la aplicación de ejemplo.

   .   ____          _            __ _ _
     /\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/_` | \ \ \ \
     \/ ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | ////
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v1.5.2.RELEASE)

org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137) ~[spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:536) ~[spring-context-4.3.7.RELEASE.jar:4.3.7.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) [spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) [spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) [spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) [spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]

Mi pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.test.springboot</groupId>
    <artifactId>HelloSpringBoot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>HelloSpringBoot</name>
    <description>HelloSpringBoot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
    </parent>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

Mi Controlador :

import org.springframework.boot.*;
import org.springframework.web.bind.annotation.*;

@RestController
public class SpringBootLoginController {

    @RequestMapping("/hello")
    String hello() {
        return "Hello World!!!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SpringBootLoginController.class, args);
    }

}

OriginalEl autor VNT | 2017-04-17

7 Comentarios

  1. 6

    Tratar de anotar su SpringBootLoginController clase con @SpringBootApplication anotación.

    @SpringBootApplication
    @RestController
    public class SpringBootLoginController {
    
        @RequestMapping("/hello")
        String hello() {
            return "Hello World!!!";
        }
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(SpringBootLoginController.class, args);
        }
    }

    OriginalEl autor Abdullah Khan

  2. 4

    Por la anotación con la @SpringBootApplication resuelve este problema.

    @SpringBootApplication
    @RestController
    public class SpringBootLoginController {
    
        @RequestMapping("/hello")
        String hello() {
            return "Hello World!!!";
        }
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(SpringBootLoginController.class, args);
        }
    }

    Alternativamente , mediante la Adición de la @EnableAutoConfiguration también resuelve este problema.

    @EnableAutoConfiguration
    @RestController
    public class SpringBootLoginController {
    
        @RequestMapping("/hello")
        String hello() {
            return "Hello World!!!";
        }
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(SpringBootLoginController.class, args);
        }
    }

    OriginalEl autor VNT

  3. 3

    Para mi caso, yo era el desarrollo de un proyecto de línea de comandos con springboot.

    @SpringBootApplication
    public class Application implements CommandLineRunner {
    //my code here
    }

    Así que yo estaba usando el sencillo motor de arranque.

     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter</artifactId>
     </dependency>

    Pero también tengo este error, y no había ninguna web relacionados con la dependencia en mi pom, que fue realmente por cable.

    Y en el último me enteré de que uno de mis dependencia del proyecto fue el uso de la «javax.servlet.Servlet» en su propio pom.

    Si usted comprobar el código fuente de la springboot, se compruebe si hay alguna «javax.servlet.Servlet» en su proyecto al iniciar la aplicación. Y tratar de empezar una web «incrustado contenedor» cuando no hay ningún «javax.servlet.Servlet».

    Por eso tengo este error debido a que estaba usando el «spring-boot-starter» y no había contenedor web.

    Así que la solución es muy simple, sólo tienes que decirle a la springboot que este no es un proyecto web en el «de la aplicación.propiedades»:

    spring.main.web-environment=false

    OriginalEl autor tom

  4. 0

    en mi caso la adición de

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>

    problema solucionado

    OriginalEl autor THM

  5. 0

    Debe anotar su SpringBootLoginController clase. Leer acerca de @SpringBootApplication anotación.

    @SpringBootApplication
    @RestController
    public class SpringBootLoginController {
    
        @RequestMapping("/hello")
        String hello() {
            return "Hello World!!!";
        }
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(SpringBootLoginController.class, args);
        }
    }

    OriginalEl autor devOps

  6. 0

    Si usted está usando maven, a continuación, construir por

    mvn package

    lugar de IDE construir frasco.

    Hay muchos problemas con el IDE construye jar en mi caso.

    OriginalEl autor NeoSoNg

  7. -3

    usted tiene un problema en sus dependencias. Agregar esta

    <dependency>
    <groupId><groupId></groupId>
    <artifactId><some dependency></artifactId>
    <version><version></version>
    <exclusions>
        <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
        </exclusion>
    </exclusions>

    OriginalEl autor Jorge Machado

Dejar respuesta

Please enter your comment!
Please enter your name here