如何将springBoot项目部署到tomcat服务器中运行

一.引入外部tomcat依赖

在pom.xml中添加外部tomcat依赖,如下所示

<!--添加外部tomcat依赖,以便在tomcat服务器中部署运行  -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>provided</scope>
    </dependency>

 

二.修改springBoot项目启动类:App

继承SpringBootServletInitializer,重写configure方法

package com.zd.hellospringboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * Hello world!
 *
 */
// 此注解指定这是一个SpringBoot的应用程序,不加就会报异常 Unable to start
// ServletWebServerApplicationContext due to missing ServletWebServerFactory
// bean
@SpringBootApplication
public class App extends SpringBootServletInitializer {
	public static void main(String[] args) {
		// SpringApplication用于从main方法中启动Spring应用的类
		SpringApplication.run(App.class, args);
	}

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		// TODO Auto-generated method stub
		return builder.sources(App.class);
	}
}

 

三.选择tomcat服务器,版本必须8.0以上

原因:8.0以下的版本没有el-api3.0.jar包依赖,如果要用8.0以下的版本,将相关的jar包下载下来放到tomcat的lib目录下面即可,然后部署项目到tomcat服务器(我这里选择的是8.5版本的tomcat服务器):

四.运行测试:右键tomcat服务器,点击start,启动:

启动成功未报错:

一月 07, 2019 11:04:11 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:helloSpringBoot' did not find a matching property.
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server version:        Apache Tomcat/8.5.32
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server built:          Jun 20 2018 19:50:35 UTC
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server number:         8.5.32.0
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name:               Windows 10
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Version:            10.0
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Architecture:          amd64
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java Home:             C:\Program Files\Java\jdk1.8.0_172\jre
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Version:           1.8.0_172-b11
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Vendor:            Oracle Corporation
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE:         E:\tools\apache-tomcat-8.5.32
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME:         E:\tools\apache-tomcat-8.5.32
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.base=E:\tools\apache-tomcat-8.5.32
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.home=E:\tools\apache-tomcat-8.5.32
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dwtp.deploy=E:\tools\apache-tomcat-8.5.32\webapps
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.endorsed.dirs=E:\tools\apache-tomcat-8.5.32\endorsed-Xms4096m
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Xmx4096m
一月 07, 2019 11:04:11 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dfile.encoding=UTF-8
一月 07, 2019 11:04:11 上午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jdk1.8.0_172\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_172/bin/server;C:/Program Files/Java/jre1.8.0_172/bin;C:/Program Files/Java/jre1.8.0_172/lib/amd64;D:\app\zdAdmin\product\11.2.0\client_1\bin;F:\app\zdAdmin\product\11.2.0\client_1\bin;E:\app\zdAdmin\product\11.2.0\dbhome_1\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Java\jdk1.8.0_172\bin;E:\Program Files\VisualSVN Server\bin;E:\Program Files\TortoiseSVN\bin;E:\tools\apache-maven-3.5.3\bin;E:\ue;D:\app\zdAdmin\product\11.2.0\client_1\BIN;E:\app\zdAdmin\product\11.2.0\dbhome_1\BIN;;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\zdAdmin\AppData\Local\Microsoft\WindowsApps;;E:\开发软件\eclipse;;.]
一月 07, 2019 11:04:11 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-nio-8089"]
一月 07, 2019 11:04:12 上午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
信息: Using a shared selector for servlet write/read
一月 07, 2019 11:04:12 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-nio-8010"]
一月 07, 2019 11:04:12 上午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
信息: Using a shared selector for servlet write/read
一月 07, 2019 11:04:12 上午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1396 ms
一月 07, 2019 11:04:12 上午 org.apache.catalina.core.StandardService startInternal
信息: Starting service [Catalina]
一月 07, 2019 11:04:12 上午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/8.5.32
一月 07, 2019 11:04:14 上午 org.apache.jasper.servlet.TldScanner scanJars
信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
一月 07, 2019 11:04:15 上午 org.apache.catalina.core.ApplicationContext log
信息: 2 Spring WebApplicationInitializers detected on classpath

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.0.RELEASE)

2019-01-07 11:04:16.609  INFO 14892 --- [ost-startStop-1] com.zd.hellospringboot.App               : Starting App v0.0.1-SNAPSHOT on zdAdmin with PID 14892 (E:\tools\apache-tomcat-8.5.32\webapps\helloSpringBoot\WEB-INF\classes started by zdAdmin in E:\开发软件\eclipse)
2019-01-07 11:04:16.628  INFO 14892 --- [ost-startStop-1] com.zd.hellospringboot.App               : No active profile set, falling back to default profiles: default
2019-01-07 11:04:16.721  INFO 14892 --- [ost-startStop-1] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@33f1c911: startup date [Mon Jan 07 11:04:16 CST 2019]; root of context hierarchy
2019-01-07 11:04:18.758  INFO 14892 --- [ost-startStop-1] o.a.c.c.C.[.[.[/helloSpringBoot]         : Initializing Spring embedded WebApplicationContext
2019-01-07 11:04:18.758  INFO 14892 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2038 ms
2019-01-07 11:04:19.508  INFO 14892 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2019-01-07 11:04:19.510  INFO 14892 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2019-01-07 11:04:19.511  INFO 14892 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'errorPageFilter' to: [/*]
2019-01-07 11:04:19.511  INFO 14892 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2019-01-07 11:04:19.511  INFO 14892 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2019-01-07 11:04:19.511  INFO 14892 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2019-01-07 11:04:20.743  INFO 14892 --- [ost-startStop-1] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@33f1c911: startup date [Mon Jan 07 11:04:16 CST 2019]; root of context hierarchy
2019-01-07 11:04:20.933  INFO 14892 --- [ost-startStop-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello]}" onto public java.lang.String com.zd.hellospringboot.controller.HelloController.hello()
2019-01-07 11:04:20.935  INFO 14892 --- [ost-startStop-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello2]}" onto public java.lang.String com.zd.hellospringboot.controller.HelloController.hello2()
2019-01-07 11:04:20.935  INFO 14892 --- [ost-startStop-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello3]}" onto public java.lang.String com.zd.hellospringboot.controller.HelloController.hello3()
2019-01-07 11:04:20.942  INFO 14892 --- [ost-startStop-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2019-01-07 11:04:20.945  INFO 14892 --- [ost-startStop-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2019-01-07 11:04:20.991  INFO 14892 --- [ost-startStop-1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2019-01-07 11:04:20.991  INFO 14892 --- [ost-startStop-1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2019-01-07 11:04:21.092  INFO 14892 --- [ost-startStop-1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2019-01-07 11:04:21.396  INFO 14892 --- [ost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2019-01-07 11:04:21.417  INFO 14892 --- [ost-startStop-1] com.zd.hellospringboot.App               : Started App in 6.021 seconds (JVM running for 11.778)
2019-01-07 11:04:21.542  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deploying web application directory [E:\tools\apache-tomcat-8.5.32\webapps\axis2]
2019-01-07 11:04:27.834  INFO 14892 --- [ost-startStop-1] org.apache.jasper.servlet.TldScanner     : At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[INFO] Clustering has been disabled
[INFO] Deploying module: addressing-1.7.9 - file:/E:/tools/apache-tomcat-8.5.32/webapps/axis2/WEB-INF/modules/addressing-1.7.9.mar
[INFO] Deploying module: jaxws-1.7.9 - file:/E:/tools/apache-tomcat-8.5.32/webapps/axis2/WEB-INF/modules/axis2-jaxws-mar-1.7.9.mar
[INFO] Deploying module: metadataExchange-1.7.9 - file:/E:/tools/apache-tomcat-8.5.32/webapps/axis2/WEB-INF/modules/mex-1.7.9.mar
[INFO] Deploying module: mtompolicy-1.7.9 - file:/E:/tools/apache-tomcat-8.5.32/webapps/axis2/WEB-INF/modules/mtompolicy-1.7.9.mar
[INFO] Deploying module: ping-1.7.9 - file:/E:/tools/apache-tomcat-8.5.32/webapps/axis2/WEB-INF/modules/ping-1.7.9.mar
[INFO] Deploying module: script-1.7.9 - file:/E:/tools/apache-tomcat-8.5.32/webapps/axis2/WEB-INF/modules/scripting-1.7.9.mar
[INFO] Deploying module: soapmonitor-1.7.9 - file:/E:/tools/apache-tomcat-8.5.32/webapps/axis2/WEB-INF/modules/soapmonitor-1.7.9.mar
[INFO] Deploying Web service: version-1.7.9.aar - file:/E:/tools/apache-tomcat-8.5.32/webapps/axis2/WEB-INF/services/version-1.7.9.aar
2019-01-07 11:04:30.027  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deployment of web application directory [E:\tools\apache-tomcat-8.5.32\webapps\axis2] has finished in [8,485] ms
2019-01-07 11:04:30.027  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deploying web application directory [E:\tools\apache-tomcat-8.5.32\webapps\docs]
2019-01-07 11:04:30.150  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deployment of web application directory [E:\tools\apache-tomcat-8.5.32\webapps\docs] has finished in [123] ms
2019-01-07 11:04:30.151  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deploying web application directory [E:\tools\apache-tomcat-8.5.32\webapps\examples]
2019-01-07 11:04:30.517  INFO 14892 --- [ost-startStop-1] o.a.c.c.C.[.[localhost].[/examples]      : ContextListener: contextInitialized()
2019-01-07 11:04:30.517  INFO 14892 --- [ost-startStop-1] o.a.c.c.C.[.[localhost].[/examples]      : SessionListener: contextInitialized()
2019-01-07 11:04:30.519  INFO 14892 --- [ost-startStop-1] o.a.c.c.C.[.[localhost].[/examples]      : ContextListener: attributeAdded('StockTicker', 'async.Stockticker@2e5ab251')
2019-01-07 11:04:30.530  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deployment of web application directory [E:\tools\apache-tomcat-8.5.32\webapps\examples] has finished in [379] ms
2019-01-07 11:04:30.530  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deploying web application directory [E:\tools\apache-tomcat-8.5.32\webapps\host-manager]
2019-01-07 11:04:30.673  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deployment of web application directory [E:\tools\apache-tomcat-8.5.32\webapps\host-manager] has finished in [143] ms
2019-01-07 11:04:30.673  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deploying web application directory [E:\tools\apache-tomcat-8.5.32\webapps\manager]
2019-01-07 11:04:30.698  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deployment of web application directory [E:\tools\apache-tomcat-8.5.32\webapps\manager] has finished in [25] ms
2019-01-07 11:04:30.698  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deploying web application directory [E:\tools\apache-tomcat-8.5.32\webapps\ROOT]
2019-01-07 11:04:30.723  INFO 14892 --- [ost-startStop-1] org.apache.catalina.startup.HostConfig   : Deployment of web application directory [E:\tools\apache-tomcat-8.5.32\webapps\ROOT] has finished in [25] ms
2019-01-07 11:04:30.742  INFO 14892 --- [           main] org.apache.coyote.ajp.AjpNioProtocol     : Starting ProtocolHandler ["ajp-nio-8010"]
2019-01-07 11:04:30.746  INFO 14892 --- [           main] org.apache.catalina.startup.Catalina     : Server startup in 18713 ms
2019-01-07 11:04:41.088  INFO 14892 --- [nio-8089-exec-3] o.a.c.c.C.[.[.[/helloSpringBoot]         : Initializing Spring FrameworkServlet 'dispatcherServlet'
2019-01-07 11:04:41.089  INFO 14892 --- [nio-8089-exec-3] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2019-01-07 11:04:41.130  INFO 14892 --- [nio-8089-exec-3] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 41 ms

启动成功,在浏览器输入:http://localhost:8089/helloSpringBoot/hello

成功访问controller层里面的hello()方法:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值