问题描述
使用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:
- 导入REST服务入门应用程序.
- 选择作为Spring Boot项目运行"
-
这是输出:
- Import the REST Service Getting started app.
- Select "Run as Spring Boot Project"
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应用程序立即关闭?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!