tutorial starter generate example create application spring spring-boot

starter - spring boot web application example



¿Por qué la aplicación web Spring Boot se cierra inmediatamente después de comenzar? (10)

Acabo de tener el mismo problema y pasé un tiempo buscando una solución. Sé que la pregunta tiene ya algunos años, pero esto podría ahorrarle tiempo a otra persona en el futuro.

Recibí este mensaje de advertencia cuando ejecuté mvn clean install :

[WARNING] error reading /Users/fotouhm/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.16/tomcat-embed-core-8.5.16.jar; zip file is empty

Resulta que por alguna razón este archivo fue dañado. Simplemente vaya al enlace de abajo y reemplácelo.

http://central.maven.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/8.5.16/tomcat-embed-core-8.5.16.jar

Usando STS, si importo el proyecto de inicio "Rest Service" usando el último Spring Boot y selecciono "Run As Spring Boot App" , se inicia y se apaga inmediatamente.

En cuanto a los registros de depuración, Spring es, por alguna razón, decidir que el proyecto no es una aplicación web, pero no tengo idea de por qué.

Si cambio de Spring Boot 1.1.1.RELEASE a 1.0.1.RELEASE , el proyecto funciona como se esperaba y se encuentra el servidor integrado Tomcat predeterminado.

No puedo encontrar nada en las notas de la versión 1.1.1 que sugieran que hay un cambio de configuración o algo así.

ACTUALIZACIÓN: Pasos para reproducir y registrar la salida.

Estoy ejecutando STS 3.6.0.M1 y Spring 4.0.5 y Spring Boot 1.1.1. Puedo reproducir esto fácilmente haciendo lo siguiente:

  1. Importe la aplicación de inicio del servicio REST.
  2. Seleccione "Ejecutar como Spring Boot Project"
  3. Esta es la salida:

    :: 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

  4. Si edito el pom y cambio el spring-boot-starter-parent a 1.0.1.RELEASE arranca como se espera.

ACTUALIZACIÓN 2: Salida agregada del comando --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


Además, debe verificar que tenga al menos un controlador de descanso en su aplicación (@RestController) y asegurarse de compilar con spring-boot-starter-tomcat

providedRuntime (''org.springframework.boot:spring-boot-starter-tomcat'')


En mi caso faltaba el log4j.properties.


En mi caso, tuve un error de sintaxis en application.properties :

application.password.numberOfLoginAttempts=5;

El punto y coma al final hizo que Spring se cerrara silenciosamente con el código de error 0


Encontré la razón para que esto suceda. El mío fue que no incluí ninguna biblioteca que traiga consigo el tiempo de ejecución de Tomcat. Incluí la dependencia de spring-web y spring-boot-starter-data-jpa (se muestra a continuación), pero ninguno de estos paquetes traerá el tiempo de ejecución de Tomcat para que se ejecute esta aplicación. Por lo tanto, fue el apagado automático.

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

La solución fue cambiar la banda de resorte a la red de inicio de arranque (que se muestra a continuación). Esta biblioteca trae la biblioteca tomcat y mi aplicación comenzó.

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


Solo agrega

spring.main.web-environment=true

en application.properties y reinicie.


Todas las respuestas sugirieron que el gato faltan. en mi caso, fue etiquetado en mi pom con <scope>provided</scope> que creo que lo hice porque necesitaría ejecutar mi aplicación en otro servidor de aplicaciones más adelante. Así que sí, ese fue el problema para mí, solo otra versión del mismo problema.


Tuve el mismo problema donde mi aplicación Spring-boot se apaga inmediatamente sin que se haya iniciado ningún rastro de Tomcat, aunque tuve la dependencia <artifactId>spring-boot-starter-web</artifactId> incluida en mi pom.xml. Esto indica que Spring-Boot no reconoce mi aplicación como una aplicación web.

Intenté limpiar y empaquetar mi aplicación de nuevo utilizando mvn clean install utilidades de mvn clean install para verificar si las bibliotecas Tomcat se empaquetan en mi aplicación de forma binaria / implementable. Encontró el siguiente problema (busque la línea que comienza con ''[ADVERTENCIA]''):

[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ exam-launcher --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 2 source files to C:/XXXXX/XXXXXX/XXXX_Workspace/my-app/target/classes [WARNING] error reading c:/.m2/org/apache/tomcat/embed/tomcat-embed-core/8.5.14/tomcat-embed-core-8.5.14.jar; invalid LOC header (bad signature) [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ exam-launcher --- [INFO] Using ''UTF-8'' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory C:/Chaithu/Work_Related/Eclipse_Neon_Workspace/exam-portal-server/src/test/resources

La biblioteca Tomcat que tenía en mi repositorio local se corrompió (por algunas razones desconocidas) por lo que no se incluyó en el paquete de Maven. Borre la carpeta correspondiente de mi repositorio local de maven y deje que maven la descargue de nuevo. Y funciona como un encanto ahora !!


Tuve el mismo problema. Para hacerlo funcionar, tuve que ajustar el pom.xml y comentar el alcance ''proporcionado'' para el artefacto spring-boot-starter-tomcat y actualizar las dependencias.

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

¡Ahora comienza como se espera! Gracias a algunas de las otras respuestas que me pusieron en el camino correcto.


Verifique el registro mvn cuando ejecute la fase del paquete y asegúrese de que el tarro tomcat-embed-core esté asignado en su tarro de aplicación.