我已经创建了spring boot web应用程序,但我无法在tomcat上部署spring boot web应用程序WAR文件,我可以将其作为java应用程序运行.如何在tomcat上将spring boot应用程序作为Web服务运行.我正在使用以下代码.如果可以在tomcat上运行,请在不使用web.xml和使用web.xml的情况下帮助我使用注释.
@SpringBootApplication public class Application extends SpringBootServletInitializer { protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } }
以下代码为休息控制器
@RestController public class HelloWorld{ @RequestMapping(value = "/hello", method = RequestMethod.GET) public ResponseEntityget() { return new ResponseEntity ("Hello World", HttpStatus.OK); } }
我正在使用Pom.xml
org.springframework web-service 0.1.0 org.springframework.boot spring-boot-starter-parent 1.3.0.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework spring-beans org.springframework spring-webmvc com.googlecode.json-simple json-simple 1.6 org.springframework.boot spring-boot-maven-plugin spring-releases https://repo.spring.io/libs-release spring-releases https://repo.spring.io/libs-release war
以下是有关如何将Spring Boot
App 部署为war
文件的两个好文档.
你可以按照这个春季启动howto-traditional-deployment 文档 -
根据此文档的步骤 -
您更新应用程序的主类以进行扩展 SpringBootServletInitializer
.
下一步是更新构建配置,以便项目生成war文件而不是jar文件.
标记所提供的嵌入式servlet容器依赖项.
org.springframework.boot spring-boot-starter-tomcat provided
还有一种方式 -
请参阅本春季io文档,其中概述了如何将spring boot应用程序部署到应用程序服务器.
脚步 -
将jar
包装改为war
.
注释掉spring-boot-maven-plugin
你的插件声明pom.xml
通过扩展SpringBootServletInitializer
和覆盖configure
方法,将Web入口点添加到应用程序中
删除spring-boot-starter-tomcat dependency
并修改您的spring-boot-starter-web
依赖项
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat
在你的pom.xml
,删除spring-beans
和spring-webmvc
依赖.该spring-boot-starter-web
依存度将包括那些依赖条件.
Spring引导提供了将应用程序部署为支持tomcat服务器的传统war文件servlet 3.x
(不带web.xml)的选项.请参阅spring boot文档.我将简要介绍一下你需要做什么.
第1步:修改pom.xml
以将包装更改为战争:(您已经做过)
war
第2步:改变你的依赖
org.springframework.boot spring-boot-starter-tomcat
至
org.springframework.boot spring-boot-starter-tomcat provided
第3步:pom.xml
在
标签下修改您的战争名称(如果您需要避免附加战争名称的版本详细信息).
web-service .....
第4步:运行maven build来创建war:clean install
第5步:web-service.war
在tomcat中部署生成的war文件,并在浏览器中请求urlhttp://
你应该得到Hello World
.
注意:您也可以删除多余的依赖项,如@Ali Dehghani所说.