为什么启动后Spring Boot Web应用程序立即关闭? [英] Why does Spring Boot web app close immediately after starting?

查看:77
本文介绍了为什么启动后Spring Boot Web应用程序立即关闭?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用STS,如果我使用最新的Spring Boot导入"Rest Service"入门项目并选择"Run As Spring Boot App",它将启动,然后立即关闭.

Using STS, if I import the "Rest Service" Getting Started project using the latest Spring Boot and choose "Run As Spring Boot App", it starts up, then immediately shuts down.

查看调试日志,出于某种原因,Spring决定该项目不是Web应用程序,但我不知道为什么.

Looking at the debug logs, Spring is for some reason deciding the project is not a web application, but I have no idea why.

如果我从Spring Boot 1.1.1.RELEASE切换到1.0.1.RELEASE,则该项目将按预期工作,并且会找到默认的Tomcat嵌入式服务器.

If I switch from Spring Boot 1.1.1.RELEASE to 1.0.1.RELEASE, the project works as expected and the default Tomcat embedded server is found.

1.1.1发行说明中找不到任何暗示配置更改或其他内容的内容?

I can't find anything in the 1.1.1 release notes that suggests there is a config change or anything?

更新:重现和记录输出的步骤

我正在运行STS 3.6.0.M1和Spring 4.0.5和Spring Boot 1.1.1.通过执行以下操作,我可以轻松地重现此内容:

I'm running STS 3.6.0.M1 and Spring 4.0.5 and Spring Boot 1.1.1. I can easily reproduce this by doing the following:

  1. 导入REST服务入门应用程序.
  2. 选择作为Spring Boot项目运行"
  3. 这是输出:

  1. Import the REST Service Getting started app.
  2. Select "Run as Spring Boot Project"
  3. This is the output:

:: Spring Boot ::        (v1.1.1.RELEASE)

2014-06-14 11:08:34.226  INFO 47728 --- [           main] hello.Application                        : Starting Application on localhost with PID 47728 (/Users/pdrummond/src/sts/gs-rest-service-complete/target/classes started by pdrummond in /Users/pdrummond/src/sts/gs-rest-service-complete)
2014-06-14 11:08:34.257  INFO 47728 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@802b249: startup date [Sat Jun 14 11:08:34 BST 2014]; root of context hierarchy
2014-06-14 11:08:34.680  INFO 47728 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2014-06-14 11:08:34.908  INFO 47728 --- [           main] hello.Application                        : Started Application in 0.917 seconds (JVM running for 1.351)
2014-06-14 11:08:36.397  INFO 47728 --- [       Thread-3] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@802b249: startup date [Sat Jun 14 11:08:34 BST 2014]; root of context hierarchy
2014-06-14 11:08:36.398  INFO 47728 --- [       Thread-3] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown

  • 如果我编辑pom并将spring-boot-starter-parent更改为1.0.1.RELEASE,它将按预期启动.

  • If I edit the pom and change the spring-boot-starter-parent to 1.0.1.RELEASE it boots as expected.

    更新2:添加了--debug命令的输出

         :: Spring Boot ::        (v1.1.1.RELEASE)
    
        2014-06-14 19:29:03.814  INFO 986 --- [           main] hello.Application                        : Starting Application on localhost with PID 986 (/Users/pdrummond/src/sts/gs-rest-service-complete/target/classes started by pdrummond in /Users/pdrummond/src/sts/gs-rest-service-complete)
        2014-06-14 19:29:03.816 DEBUG 986 --- [           main] o.s.boot.SpringApplication               : Loading source class hello.Application
        2014-06-14 19:29:03.838  INFO 986 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@c163956: startup date [Sat Jun 14 19:29:03 BST 2014]; root of context hierarchy
        2014-06-14 19:29:04.177  INFO 986 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
        2014-06-14 19:29:04.346 DEBUG 986 --- [           main] utoConfigurationReportLoggingInitializer : 
    
    
        =========================
        AUTO-CONFIGURATION REPORT
        =========================
    
    
        Positive matches:
        -----------------
    
           PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer
              - @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) found no beans (OnBeanCondition)
    
           JacksonAutoConfiguration
              - @ConditionalOnClass classes found: com.fasterxml.jackson.databind.ObjectMapper (OnClassCondition)
    
           JacksonAutoConfiguration#jacksonObjectMapper
              - @ConditionalOnMissingBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found no beans (OnBeanCondition)
    
           JmxAutoConfiguration
              - @ConditionalOnClass classes found: org.springframework.jmx.export.MBeanExporter (OnClassCondition)
              - SpEL expression on org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration: ${spring.jmx.enabled:true} (OnExpressionCondition)
    
           JmxAutoConfiguration#mbeanServer
              - @ConditionalOnMissingBean (types: javax.management.MBeanServer; SearchStrategy: all) found no beans (OnBeanCondition)
    
           JmxAutoConfiguration#objectNamingStrategy
              - @ConditionalOnMissingBean (types: org.springframework.jmx.export.naming.ObjectNamingStrategy; SearchStrategy: all) found no beans (OnBeanCondition)
    
           HttpMessageConvertersAutoConfiguration
              - @ConditionalOnClass classes found: org.springframework.http.converter.HttpMessageConverter (OnClassCondition)
    
           HttpMessageConvertersAutoConfiguration#messageConverters
              - @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.HttpMessageConverters; SearchStrategy: all) found no beans (OnBeanCondition)
    
           HttpMessageConvertersAutoConfiguration.ObjectMappers
              - @ConditionalOnClass classes found: com.fasterxml.jackson.databind.ObjectMapper (OnClassCondition)
    
           HttpMessageConvertersAutoConfiguration.ObjectMappers#mappingJackson2HttpMessageConverter
              - @ConditionalOnMissingBean (types: org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; SearchStrategy: all) found no beans (OnBeanCondition)
    
    
        Negative matches:
        -----------------
    
           MessageSourceAutoConfiguration
              - Bundle found for spring.messages.basename: messages (MessageSourceAutoConfiguration.ResourceBundleCondition)
    
           RabbitAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.amqp.rabbit.core.RabbitTemplate,com.rabbitmq.client.Channel (OnClassCondition)
    
           AopAutoConfiguration
              - required @ConditionalOnClass classes not found: org.aspectj.lang.annotation.Aspect,org.aspectj.lang.reflect.Advice (OnClassCondition)
    
           BatchAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.batch.core.launch.JobLauncher,org.springframework.jdbc.core.JdbcOperations (OnClassCondition)
    
           ElasticsearchRepositoriesAutoConfiguration
              - required @ConditionalOnClass classes not found: org.elasticsearch.client.Client,org.springframework.data.elasticsearch.repository.ElasticsearchRepository (OnClassCondition)
    
           JpaRepositoriesAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.data.jpa.repository.JpaRepository (OnClassCondition)
    
           MongoRepositoriesAutoConfiguration
              - required @ConditionalOnClass classes not found: com.mongodb.Mongo,org.springframework.data.mongodb.repository.MongoRepository (OnClassCondition)
    
           RepositoryRestMvcAutoConfiguration
              - not a web application (OnWebApplicationCondition)
    
           SolrRepositoriesAutoConfiguration
              - required @ConditionalOnClass classes not found: org.apache.solr.client.solrj.SolrServer,org.springframework.data.solr.repository.SolrRepository (OnClassCondition)
    
           ElasticsearchAutoConfiguration
              - required @ConditionalOnClass classes not found: org.elasticsearch.client.Client,org.springframework.data.elasticsearch.client.TransportClientFactoryBean,org.springframework.data.elasticsearch.client.NodeClientFactoryBean (OnClassCondition)
    
           ElasticsearchDataAutoConfiguration
              - required @ConditionalOnClass classes not found: org.elasticsearch.client.Client,org.springframework.data.elasticsearch.core.ElasticsearchTemplate (OnClassCondition)
    
           FlywayAutoConfiguration
              - required @ConditionalOnClass classes not found: org.flywaydb.core.Flyway (OnClassCondition)
    
           FreeMarkerAutoConfiguration
              - required @ConditionalOnClass classes not found: freemarker.template.Configuration,org.springframework.ui.freemarker.FreeMarkerConfigurationFactory (OnClassCondition)
    
           GroovyTemplateAutoConfiguration
              - required @ConditionalOnClass classes not found: groovy.text.TemplateEngine (OnClassCondition)
    
           HypermediaAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.hateoas.Resource (OnClassCondition)
    
           IntegrationAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.integration.config.EnableIntegration (OnClassCondition)
    
           JacksonAutoConfiguration.JodaModuleAutoConfiguration
              - required @ConditionalOnClass classes not found: com.fasterxml.jackson.datatype.joda.JodaModule (OnClassCondition)
    
           JacksonAutoConfiguration.Jsr310ModuleAutoConfiguration
              - Required JVM version 1.8 or newer found 1.6 (OnJavaCondition)
    
           DataSourceAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType (OnClassCondition)
    
           DataSourceTransactionManagerAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.jdbc.core.JdbcTemplate,org.springframework.transaction.PlatformTransactionManager (OnClassCondition)
    
           JmsAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.jms.core.JmsTemplate (OnClassCondition)
    
           ActiveMQAutoConfiguration
              - required @ConditionalOnClass classes not found: javax.jms.ConnectionFactory,org.apache.activemq.ActiveMQConnectionFactory (OnClassCondition)
    
           HornetQAutoConfiguration
              - required @ConditionalOnClass classes not found: javax.jms.ConnectionFactory,org.hornetq.api.jms.HornetQJMSClient (OnClassCondition)
    
           JmxAutoConfiguration#mbeanExporter
              - @ConditionalOnMissingBean (types: org.springframework.jmx.export.MBeanExporter; SearchStrategy: current) found the following [mbeanExporter] (OnBeanCondition)
    
           LiquibaseAutoConfiguration
              - required @ConditionalOnClass classes not found: liquibase.integration.spring.SpringLiquibase (OnClassCondition)
    
           DeviceDelegatingViewResolverAutoConfiguration
              - not a web application (OnWebApplicationCondition)
    
           DeviceResolverAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.mobile.device.DeviceResolverHandlerInterceptor,org.springframework.mobile.device.DeviceHandlerMethodArgumentResolver (OnClassCondition)
    
           SitePreferenceAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.mobile.device.site.SitePreferenceHandlerInterceptor,org.springframework.mobile.device.site.SitePreferenceHandlerMethodArgumentResolver (OnClassCondition)
    
           MongoAutoConfiguration
              - required @ConditionalOnClass classes not found: com.mongodb.Mongo (OnClassCondition)
    
           MongoDataAutoConfiguration
              - required @ConditionalOnClass classes not found: com.mongodb.Mongo,org.springframework.data.mongodb.core.MongoTemplate (OnClassCondition)
    
           HibernateJpaAutoConfiguration
              - did not find HibernateEntityManager class (HibernateJpaAutoConfiguration.HibernateEntityManagerCondition)
    
           ReactorAutoConfiguration
              - required @ConditionalOnClass classes not found: reactor.spring.context.config.EnableReactor (OnClassCondition)
    
           RedisAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.data.redis.connection.jedis.JedisConnection,org.springframework.data.redis.core.RedisOperations,redis.clients.jedis.Jedis (OnClassCondition)
    
           FallbackWebSecurityAutoConfiguration
              - SpEL expression on org.springframework.boot.autoconfigure.security.FallbackWebSecurityAutoConfiguration: !${security.basic.enabled:true} (OnExpressionCondition)
    
           SecurityAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.security.authentication.AuthenticationManager (OnClassCondition)
    
           FacebookAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.social.facebook.connect.FacebookConnectionFactory (OnClassCondition)
    
           LinkedInAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.social.linkedin.connect.LinkedInConnectionFactory (OnClassCondition)
    
           SocialWebAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.social.connect.web.ConnectController,org.springframework.social.config.annotation.SocialConfigurerAdapter (OnClassCondition)
    
           TwitterAutoConfiguration
              - required @ConditionalOnClass classes not found: org.springframework.social.twitter.connect.TwitterConnectionFactory (OnClassCondition)
    
           SolrAutoConfiguration
              - required @ConditionalOnClass classes not found: org.apache.solr.client.solrj.SolrServer (OnClassCondition)
    
           ThymeleafAutoConfiguration
              - required @ConditionalOnClass classes not found: org.thymeleaf.spring4.SpringTemplateEngine (OnClassCondition)
    
           VelocityAutoConfiguration
              - required @ConditionalOnClass classes not found: org.apache.velocity.app.VelocityEngine,org.springframework.ui.velocity.VelocityEngineFactory (OnClassCondition)
    
           DispatcherServletAutoConfiguration
              - not a web application (OnWebApplicationCondition)
    
           EmbeddedServletContainerAutoConfiguration
              - not a web application (OnWebApplicationCondition)
    
           ErrorMvcAutoConfiguration
              - required @ConditionalOnClass classes not found: javax.servlet.Servlet,org.springframework.web.servlet.DispatcherServlet (OnClassCondition)
    
           MultipartAutoConfiguration
              - required @ConditionalOnClass classes not found: javax.servlet.Servlet,javax.servlet.MultipartConfigElement (OnClassCondition)
    
           ServerPropertiesAutoConfiguration
              - not a web application (OnWebApplicationCondition)
    
           WebMvcAutoConfiguration
              - not a web application (OnWebApplicationCondition)
    
           WebSocketAutoConfiguration
              - required @ConditionalOnClass classes not found: javax.servlet.Servlet,org.apache.catalina.startup.Tomcat,org.springframework.web.socket.WebSocketHandler,org.apache.tomcat.websocket.server.WsSci (OnClassCondition)
    
    
    
        2014-06-14 19:29:04.348  INFO 986 --- [           main] hello.Application                        : Started Application in 0.73 seconds (JVM running for 1.085)
        2014-06-14 19:29:06.378  INFO 986 --- [       Thread-3] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@c163956: startup date [Sat Jun 14 19:29:03 BST 2014]; root of context hierarchy
        2014-06-14 19:29:06.379  INFO 986 --- [       Thread-3] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
    

    推荐答案

    我遇到了同样的问题.为了使其工作,我必须调整pom.xml并注释掉spring-boot-starter-tomcat工件的提供"范围并更新依赖项.

    I had this same issue. To make it work I had to adjust the pom.xml and comment-out the 'provided' scope for spring-boot-starter-tomcat artifact and update the dependencies.

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <!--<scope>provided</scope>-->
    </dependency>
    

    现在它可以按预期启动了!感谢其他一些使我走上正轨的答案.

    Now it starts up as expected! Thanks to some of the other answers that put me on the right track.

    这篇关于为什么启动后Spring Boot Web应用程序立即关闭?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆