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.
使用STS,如果我导入“Rest服务”,使用最新的Spring引导启动项目,并选择“作为Spring引导应用程序运行”,它会启动,然后立即关闭。
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是出于某种原因决定项目不是web应用程序,但是我不知道为什么。
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.
如果我从Spring Boot 1.1.1切换。1.0.1版本。发布,项目按预期工作,并找到默认的Tomcat嵌入式服务器。
I can't find anything in the 1.1.1
release notes that suggests there is a config change or anything?
在1.1.1发行版中,我找不到任何提示有配置更改之类的东西?
UPDATE: Steps to reproduce and log output
更新:复制和记录输出的步骤。
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:
我是STS 3.6.0运行。M1和Spring 4.0.5和Spring Boot 1.1.1。我可以很容易地通过以下方法复制它:
- Import the REST Service Getting started app.
- 导入REST服务启动app。
- Select "Run as Spring Boot Project"
- 选择“作为Spring引导项目运行”
-
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
-
If I edit the pom and change the
spring-boot-starter-parent
to1.0.1.RELEASE
it boots as expected.如果我编辑pom并将spring-boot-starter-parent更改为1.0.1。按预期发布它。
UPDATE 2: Added output from --debug command
更新2:添加的输出——调试命令。
:: 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
9 个解决方案
#1
19
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.
我也有同样的问题。为了使它发挥作用,我不得不调整pom。xml和comment-out的“提供”范围的spring-boot-starter-tomcat工件和更新依赖项。
<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.
现在它开始像预期的那样!多亏了一些其他的答案让我走上了正确的道路。
#2
6
Check the mvn log when you execute package phase ,and make sure that the tomcat-embed-core jar is assigned into you app jar.
在执行包阶段时检查mvn日志,并确保将tomcat-嵌入式内核jar分配到应用程序jar中。
#3
4
I had the same issue where my spring-boot app shuts down immediately without any trace of tomcat being started up although I had the dependency <artifactId>spring-boot-starter-web</artifactId>
included in my pom.xml. This indicates that spring-boot isn't recognizing my app as a web application.
我有同样的问题,我的spring-boot应用程序立即关闭,而没有启动任何tomcat的跟踪,尽管我有依赖项
Tried cleaning up and packaging my app again using mvn clean install
utilities to verify if tomcat libraries are getting packaged into my app binary/deployable. Found the following issue:
尝试清理和打包我的应用程序,再次使用mvn clean安装工具来验证tomcat库是否被打包到我的应用程序二进制/deployable中。发现以下问题:
[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
The tomcat library I had on my local repo got corrupted (for some unknown reasons) because of which it wasn't getting included in the maven package. Deleted the corresponding folder from my local maven repo and let maven download it freshly. And it works like a charm now !!
我在本地repo上的tomcat库被损坏(出于某些未知的原因),因为它没有被包含在maven包中。从我的本地maven repo中删除相应的文件夹,让maven重新下载它。现在它就像一个魔咒一样有效!!
#4
2
I found the reason for this to happen. Mine was that I did not include any library which brings in the tomcat runtime with it. I included the spring-web dependency and spring-boot-starter-data-jpa(shown below) but none of these packages will bring the tomcat runtime for this app to run. So, it was auto shutdown.
我找到了发生这种事的原因。我的意思是,我没有包含任何将tomcat运行时带进来的库。我包含了spring-web依赖项和spring-boot-starter-data-jpa(如下所示),但是这些包都不会为这个应用程序运行tomcat运行时。所以,它是自动关机。
<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>
The solution was to change the spring-web to spring-boot-starter-web(shown below). This library brings in the tomcat library and my app started.
解决方案是将spring-web改为spring-boot-starter-web(如下所示)。这个库引入了tomcat库,我的应用程序启动了。
<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>
#5
1
Just add
只需添加
spring.main.web-environment=true
in application.properties and restart.
在应用程序中。属性和重启。
#6
0
In addition, you should check that you have at least one rest controller in your app (@RestController) and make sure you compile with spring-boot-starter-tomcat
此外,您应该检查您的应用程序中至少有一个rest控制器(@RestController),并确保使用spring-boot-starter-tomcat进行编译。
providedRuntime ('org.springframework.boot:spring-boot-starter-tomcat')
#7
0
I just had the same problem and spent a while searching for a solution. I know the question is a few years old now but this might save someone else's time in future.
我只是遇到了同样的问题,花了一段时间寻找解决方案。我知道这个问题已经有几年的历史了,但这可能会在将来挽救其他人的时间。
I got this warning message when I ran mvn clean install
:
当我运行mvn清洁安装时,我收到了这个警告信息:
[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
Turns out for some reason this file was corrupted. Just go to the link below and replace it.
由于某种原因,这个文件被损坏了。只需到下面的链接并替换它。
http://central.maven.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/8.5.16/tomcat-embed-core-8.5.16.jar
#8
0
In my case the log4j.properties was missing.
在我的例子中是log4j。属性不见了。
#9
0
All the answers suggested that tomcat is missing from it. in my case it was tagged in my pom with <scope>provided</scope>
which I think i did it as i would need to run my application on another App server later. So yes that was the issue for me just another version of the same problem.
所有的答案都表明tomcat已经丢失了。在我的例子中,它被标记在我的pom中,
#1
19
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.
我也有同样的问题。为了使它发挥作用,我不得不调整pom。xml和comment-out的“提供”范围的spring-boot-starter-tomcat工件和更新依赖项。
<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.
现在它开始像预期的那样!多亏了一些其他的答案让我走上了正确的道路。
#2
6
Check the mvn log when you execute package phase ,and make sure that the tomcat-embed-core jar is assigned into you app jar.
在执行包阶段时检查mvn日志,并确保将tomcat-嵌入式内核jar分配到应用程序jar中。
#3
4
I had the same issue where my spring-boot app shuts down immediately without any trace of tomcat being started up although I had the dependency <artifactId>spring-boot-starter-web</artifactId>
included in my pom.xml. This indicates that spring-boot isn't recognizing my app as a web application.
我有同样的问题,我的spring-boot应用程序立即关闭,而没有启动任何tomcat的跟踪,尽管我有依赖项
Tried cleaning up and packaging my app again using mvn clean install
utilities to verify if tomcat libraries are getting packaged into my app binary/deployable. Found the following issue:
尝试清理和打包我的应用程序,再次使用mvn clean安装工具来验证tomcat库是否被打包到我的应用程序二进制/deployable中。发现以下问题:
[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
The tomcat library I had on my local repo got corrupted (for some unknown reasons) because of which it wasn't getting included in the maven package. Deleted the corresponding folder from my local maven repo and let maven download it freshly. And it works like a charm now !!
我在本地repo上的tomcat库被损坏(出于某些未知的原因),因为它没有被包含在maven包中。从我的本地maven repo中删除相应的文件夹,让maven重新下载它。现在它就像一个魔咒一样有效!!
#4
2
I found the reason for this to happen. Mine was that I did not include any library which brings in the tomcat runtime with it. I included the spring-web dependency and spring-boot-starter-data-jpa(shown below) but none of these packages will bring the tomcat runtime for this app to run. So, it was auto shutdown.
我找到了发生这种事的原因。我的意思是,我没有包含任何将tomcat运行时带进来的库。我包含了spring-web依赖项和spring-boot-starter-data-jpa(如下所示),但是这些包都不会为这个应用程序运行tomcat运行时。所以,它是自动关机。
<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>
The solution was to change the spring-web to spring-boot-starter-web(shown below). This library brings in the tomcat library and my app started.
解决方案是将spring-web改为spring-boot-starter-web(如下所示)。这个库引入了tomcat库,我的应用程序启动了。
<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>
#5
1
Just add
只需添加
spring.main.web-environment=true
in application.properties and restart.
在应用程序中。属性和重启。
#6
0
In addition, you should check that you have at least one rest controller in your app (@RestController) and make sure you compile with spring-boot-starter-tomcat
此外,您应该检查您的应用程序中至少有一个rest控制器(@RestController),并确保使用spring-boot-starter-tomcat进行编译。
providedRuntime ('org.springframework.boot:spring-boot-starter-tomcat')
#7
0
I just had the same problem and spent a while searching for a solution. I know the question is a few years old now but this might save someone else's time in future.
我只是遇到了同样的问题,花了一段时间寻找解决方案。我知道这个问题已经有几年的历史了,但这可能会在将来挽救其他人的时间。
I got this warning message when I ran mvn clean install
:
当我运行mvn清洁安装时,我收到了这个警告信息:
[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
Turns out for some reason this file was corrupted. Just go to the link below and replace it.
由于某种原因,这个文件被损坏了。只需到下面的链接并替换它。
http://central.maven.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/8.5.16/tomcat-embed-core-8.5.16.jar
#8
0
In my case the log4j.properties was missing.
在我的例子中是log4j。属性不见了。
#9
0
All the answers suggested that tomcat is missing from it. in my case it was tagged in my pom with <scope>provided</scope>
which I think i did it as i would need to run my application on another App server later. So yes that was the issue for me just another version of the same problem.
所有的答案都表明tomcat已经丢失了。在我的例子中,它被标记在我的pom中,