【发布时间】:2020-03-05 17:02:15
【问题描述】:
创建了一个 Spring Boot REST 应用程序。
作为 Spring 启动应用运行
在 Eclipse 中以spring boot application 运行它。效果很好。
REST API 正在使用 URL - http://localhost:8080/schools
在 tomcat 上部署为 WAR
我按照以下步骤操作
- 主类扩展
SpringServletContainerInitializer
@SpringBootApplication
public class RmsBackendApplication extends SpringServletContainerInitializer {
public static void main(String[] args) {
SpringApplication.run(RmsBackendApplication.class, args);
}
}
- 在
pom.xml中添加了开始类条目
<properties>
<java.version>1.8</java.version>
<start-class>com.codingParkFun.rmsbackend.RmsBackendApplication</start-class>
</properties>
- 添加了启动 tomcat 依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
很少有文档说覆盖
SpringServletContainerInitializer的configure方法。但就我而言,SpringServletContainerInitializer没有configure方法。我下载了spring tools 4.0使用
maven install生成的包。生成的war包名称为rms-0.0.1-SNAPSHOT.war在tomcat上部署war包(版本
9.0.27)访问 REST API URL -
http://localhost:8080/rms-0.0.1-SNAPSHOT/schools
- Tomcat localhost 日志如下:
09-Nov-2019 11:13:31.013 INFO [main] org.apache.catalina.core.ApplicationContext.log 1 Spring WebApplicationInitializers detected on classpath
09-Nov-2019 11:13:32.048 INFO [main] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized()
09-Nov-2019 11:13:32.048 INFO [main] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized()
09-Nov-2019 11:13:32.052 INFO [main] org.apache.catalina.core.ApplicationContext.log ContextListener: attributeAdded('StockTicker', 'async.Stockticker@6231bb88')
09-Nov-2019 11:16:44.566 INFO [Thread-4] org.apache.catalina.core.ApplicationContext.log SessionListener: contextDestroyed()
09-Nov-2019 11:16:44.566 INFO [Thread-4] org.apache.catalina.core.ApplicationContext.log ContextListener: contextDestroyed()
09-Nov-2019 11:19:59.676 INFO [main] org.apache.catalina.core.ApplicationContext.log 1 Spring WebApplicationInitializers detected on classpath
09-Nov-2019 11:20:12.722 INFO [main] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized()
09-Nov-2019 11:20:12.723 INFO [main] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized()
09-Nov-2019 11:20:12.728 INFO [main] org.apache.catalina.core.ApplicationContext.log ContextListener: attributeAdded('StockTicker', 'async.Stockticker@2420e962')
09-Nov-2019 11:27:44.515 INFO [main] org.apache.catalina.core.ApplicationContext.log 1 Spring WebApplicationInitializers detected on classpath
09-Nov-2019 11:27:45.490 INFO [main] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized()
09-Nov-2019 11:27:45.490 INFO [main] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized()
09-Nov-2019 11:27:45.494 INFO [main] org.apache.catalina.core.ApplicationContext.log ContextListener: attributeAdded('StockTicker', 'async.Stockticker@1c7da28')
09-Nov-2019 11:38:48.705 INFO [http-nio-8080-exec-7] org.apache.catalina.core.ApplicationContext.log 1 Spring WebApplicationInitializers detected on classpath
不确定应用程序 REST API 是否工作。请指导。
【问题讨论】:
标签: java spring maven spring-boot tomcat