title: Why does Spring Boot web app close immediately after starting?
body: <p>Using STS, if I import the <code>"Rest Service"</code> Getting Started project using the latest Spring Boot and choose <code>"Run As Spring Boot App"</code>, it starts up, then immediately shuts down.  </p>
  
  <p>Looking at the debug logs, Spring is for some reason deciding the project is not a web application, but I have no idea why.  </p>
  
  <p>If I switch from Spring Boot <code>1.1.1.RELEASE</code> to <code>1.0.1.RELEASE</code>, the project works as expected and the default Tomcat embedded server is found.  </p>
  
  <p>I can't find anything in the <code>1.1.1</code> release notes that suggests there is a config change or anything?  </p>
  
  <p><strong>UPDATE: Steps to reproduce and log output</strong></p>
  
  <p>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:</p>
  
  <ol>
  <li>Import the REST Service Getting started app.</li>
  <li>Select "Run as Spring Boot Project"</li>
  <li><p>This is the output:</p>
  
  <pre><code>:: 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
  </code></pre></li>
  <li><p>If I edit the pom and change the <code>spring-boot-starter-parent</code> to <code>1.0.1.RELEASE</code> it boots as expected.</p></li>
  </ol>
  
  <p><strong>UPDATE 2: Added output from --debug command</strong></p>
  
  <pre><code>     :: 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
  </code></pre>