• <bdo id='t9BaM'></bdo><ul id='t9BaM'></ul>
    <tfoot id='t9BaM'></tfoot>
      <i id='t9BaM'><tr id='t9BaM'><dt id='t9BaM'><q id='t9BaM'><span id='t9BaM'><b id='t9BaM'><form id='t9BaM'><ins id='t9BaM'></ins><ul id='t9BaM'></ul><sub id='t9BaM'></sub></form><legend id='t9BaM'></legend><bdo id='t9BaM'><pre id='t9BaM'><center id='t9BaM'></center></pre></bdo></b><th id='t9BaM'></th></span></q></dt></tr></i><div id='t9BaM'><tfoot id='t9BaM'></tfoot><dl id='t9BaM'><fieldset id='t9BaM'></fieldset></dl></div>

      <small id='t9BaM'></small><noframes id='t9BaM'>

    1. <legend id='t9BaM'><style id='t9BaM'><dir id='t9BaM'><q id='t9BaM'></q></dir></style></legend>

      1. Spring boot - 由于缺少 EmbeddedServletContainerFactory bean,无法启动

        时间:2023-09-26

        <small id='pP1H8'></small><noframes id='pP1H8'>

        <legend id='pP1H8'><style id='pP1H8'><dir id='pP1H8'><q id='pP1H8'></q></dir></style></legend>

              <tbody id='pP1H8'></tbody>

            • <tfoot id='pP1H8'></tfoot>

                  <bdo id='pP1H8'></bdo><ul id='pP1H8'></ul>

                  <i id='pP1H8'><tr id='pP1H8'><dt id='pP1H8'><q id='pP1H8'><span id='pP1H8'><b id='pP1H8'><form id='pP1H8'><ins id='pP1H8'></ins><ul id='pP1H8'></ul><sub id='pP1H8'></sub></form><legend id='pP1H8'></legend><bdo id='pP1H8'><pre id='pP1H8'><center id='pP1H8'></center></pre></bdo></b><th id='pP1H8'></th></span></q></dt></tr></i><div id='pP1H8'><tfoot id='pP1H8'></tfoot><dl id='pP1H8'><fieldset id='pP1H8'></fieldset></dl></div>
                  本文介绍了Spring boot - 由于缺少 EmbeddedServletContainerFactory bean,无法启动 EmbeddedWebApplicationContext的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  春季启动

                  我试图在 intelliJ 中运行我的 Spring Boot 应用程序,但出现错误:

                  I was trying to running my spring Boot application in intelliJ but getting an Error:

                    .   ____          _            __ _ _
                   /\ / ___'_ __ _ _(_)_ __  __ _    
                  ( ( )\___ | '_ | '_| | '_ / _` |    
                   \/  ___)| |_)| | | | | || (_| |  ) ) ) )
                    '  |____| .__|_| |_|_| |_\__, | / / / /
                   =========|_|==============|___/=/_/_/_/
                   :: Spring Boot ::        (v1.3.1.RELEASE)
                  
                  2016-01-26 23:09:30.883  INFO 3960 --- [           main] com.example.he.ExampleApplication         : Starting ExampleApplication on user with PID 3960 (F:WORKWork_ProjectExample_Application-masterExample_Application-masteruildclassesmain started by user in F:WORKWork_ProjectExample_Application-masterExample_Application-master)
                  2016-01-26 23:09:30.892  INFO 3960 --- [           main] com.example.he.ExampleApplication         : No active profile set, falling back to default profiles: default
                  2016-01-26 23:09:31.042  INFO 3960 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@73d4cc9e: startup date [Tue Jan 26 23:09:31 IST 2016]; root of context hierarchy
                  2016-01-26 23:09:31.242  WARN 3960 --- [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: 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.
                  2016-01-26 23:09:31.453 ERROR 3960 --- [           main] o.s.boot.SpringApplication               : Application startup failed
                  
                  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:133) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
                      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
                      at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
                      at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:764) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
                      at org.springframework.boot.SpringApplication.doRun(SpringApplication.java:357) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
                      at org.springframework.boot.SpringApplication.run(SpringApplication.java:305) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
                      at org.springframework.boot.SpringApplication.run(SpringApplication.java:1124) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
                      at org.springframework.boot.SpringApplication.run(SpringApplication.java:1113) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
                      at com.example.he.ExampleApplication.main(ExampleApplication.java:15) [main/:na]
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_25]
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_25]
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_25]
                      at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_25]
                      at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) [idea_rt.jar:na]
                  Caused by: org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
                      at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getEmbeddedServletContainerFactory(EmbeddedWebApplicationContext.java:185) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
                      at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:158) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
                      at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
                      ... 13 common frames omitted
                  
                  2016-01-26 23:09:31.456  INFO 3960 --- 
                  
                  Process finished with exit code 1
                  

                  我正在使用 Gradle.这是我的 build.gradle 文件:

                  Iam using Gradle.This is my build.gradle file:

                  buildscript {
                      ext {
                          springBootVersion = '1.3.1.RELEASE'
                      }
                      repositories {
                          mavenCentral()
                      }
                      dependencies {
                          classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") 
                      }
                  }
                  
                  apply plugin: 'java'
                  apply plugin: 'eclipse'
                  apply plugin: 'idea'
                  apply plugin: 'spring-boot'
                  apply plugin: 'war'
                  
                  war {
                      baseName = 'Example-Application'
                      version = '0.0.1-SNAPSHOT'
                  }
                  sourceCompatibility = 1.8
                  targetCompatibility = 1.8
                  
                  repositories {
                      mavenCentral()
                  }
                  
                  dependencies {
                      compile('org.springframework.boot:spring-boot-starter-data-jpa')
                      compile('org.springframework.boot:spring-boot-starter-security')
                      compile('org.springframework.boot:spring-boot-starter-web')
                      compile('org.apache.tomcat.embed:tomcat-embed-jasper:8.0.30')
                          compile('javax.servlet:servlet-api:2.5')
                      compile('javax.servlet:jstl:1.2')
                      runtime('mysql:mysql-connector-java')
                      providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
                      testCompile('org.springframework.boot:spring-boot-starter-test')
                  }
                  
                  
                  eclipse {
                      classpath {
                           containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
                           containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8'
                      }
                  }
                  
                  task wrapper(type: Wrapper) {
                      gradleVersion = '2.9'
                  }
                  

                  这是配置类:

                  package com.example.he.config;
                  
                  import org.springframework.context.annotation.Configuration;
                  import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
                  import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
                  
                  @Configuration
                  public class MvcConfig extends WebMvcConfigurerAdapter {
                  
                    @Override
                    public void addViewControllers(ViewControllerRegistry registry) {
                      registry.addViewController("/city").setViewName("city");
                      registry.addViewController("/").setViewName("city");
                      registry.addViewController("/userAdd").setViewName("user");
                      registry.addViewController("/created").setViewName("created");
                      registry.addViewController("/createblog").setViewName("blog");
                      registry.addViewController("/login").setViewName("login");
                      registry.addViewController("/home").setViewName("home");
                  
                    }
                  
                  }
                  

                  这是我的应用程序类:

                  package com.example.he;
                  
                  import org.springframework.boot.SpringApplication;
                  import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
                  import org.springframework.boot.autoconfigure.SpringBootApplication;
                  import org.springframework.boot.builder.SpringApplicationBuilder;
                  import org.springframework.boot.context.web.SpringBootServletInitializer;
                  import org.springframework.context.annotation.ComponentScan;
                  import org.springframework.context.annotation.Configuration;
                  import org.springframework.scheduling.annotation.EnableScheduling;
                  
                  @SpringBootApplication
                  public class ExampleApplication extends SpringBootServletInitializer{
                  
                      public static void main(String[] args) throws Exception {
                          SpringApplication.run(ExampleApplication.class, args);
                      }
                  
                  
                    @Override
                    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
                      return application.sources(ExampleApplication.class);
                    }
                  
                  
                  }
                  

                  我也尝试过这些注释.

                  @ComponentScan
                  @EnableAutoConfiguration
                  @Configuration
                  

                  我是 spring 新手,我不太了解这些注释的作用.我尝试关注其中的一些,但无法解决问题.

                  I am new to spring and i don't really understand what these annotations do.I tried following some of these but couldn't fix the issue.

                  Spring Boot:无法启动 EmbeddedWebApplicationContext 由于缺少 EmbeddedServletContainerFactory bean

                  Spring Boot 测试:由于无法启动 EmbeddedWebApplicationContext缺少 EmbeddedServletContainerFactory bean

                  我尝试使用控制台(gradle build)构建应用程序,构建成功,但运行 war 给我一个错误:Unable to start embedded Tomcat.有人可以帮我吗?

                  I tried building the application using console(gradle build), build is successful but running the war gives me an error: Unable to start embedded Tomcat . Could someone please help me ?

                  推荐答案

                  我能够让您的应用程序启动并运行.我为让它运行所做的唯一更改是在你的 build.gradle 文件中注释掉你的几个依赖项.

                  I was able to get your application up and running. The only change I made to get it running was to comment out a couple of your dependencies in your build.gradle file.

                  在下面的依赖块中,注释掉了 3 行.我注释掉的 spring-boot-start-jpa 行只是因为我没有配置的数据源.

                  In the dependencies block below, 3 lines are commented out. The spring-boot-start-jpa line I commented out only because I did not have a configured dataSource.

                  但是,如果您只注释掉 servlet-api 和 jstl 依赖项,您的应用应该可以毫无问题地启动,这对我来说确实如此.

                  However, if you only comment out the servlet-api and jstl dependencies, your app should start without issue, it did for me.

                  dependencies {
                      //compile('org.springframework.boot:spring-boot-starter-data-jpa')
                      compile('org.springframework.boot:spring-boot-starter-security')
                      compile('org.springframework.boot:spring-boot-starter-web')
                      compile('org.apache.tomcat.embed:tomcat-embed-jasper:8.0.30')
                      //compile('javax.servlet:servlet-api:2.5')
                      //compile('javax.servlet:jstl:1.2')
                      runtime('mysql:mysql-connector-java')
                      providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
                      testCompile('org.springframework.boot:spring-boot-starter-test')
                  }
                  

                  这篇关于Spring boot - 由于缺少 EmbeddedServletContainerFactory bean,无法启动 EmbeddedWebApplicationContext的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:Java Web Service 框架/库,哪个更好,为什么? 下一篇:基于 Java Swing 的游戏框架.有什么建议吗?

                  相关文章

                  <i id='ktuOL'><tr id='ktuOL'><dt id='ktuOL'><q id='ktuOL'><span id='ktuOL'><b id='ktuOL'><form id='ktuOL'><ins id='ktuOL'></ins><ul id='ktuOL'></ul><sub id='ktuOL'></sub></form><legend id='ktuOL'></legend><bdo id='ktuOL'><pre id='ktuOL'><center id='ktuOL'></center></pre></bdo></b><th id='ktuOL'></th></span></q></dt></tr></i><div id='ktuOL'><tfoot id='ktuOL'></tfoot><dl id='ktuOL'><fieldset id='ktuOL'></fieldset></dl></div>

                  <small id='ktuOL'></small><noframes id='ktuOL'>

                  <tfoot id='ktuOL'></tfoot>
                    <bdo id='ktuOL'></bdo><ul id='ktuOL'></ul>

                    <legend id='ktuOL'><style id='ktuOL'><dir id='ktuOL'><q id='ktuOL'></q></dir></style></legend>