一、pom.xml及启动类修改
pom.xml
Step1:指定打包类型
<!-- 打包类型 jar 或 war --> <packaging>war</packaging>
Step2:移除嵌入式tomcat插件
<!-- 支持web的模块 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!--忽略内嵌tomcat,打包部署到tomcat。注*本地运行的时候要把这一段忽略引入个注释掉,要不然项目启动不了--> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency>
Step3:添加javax-servlet依赖
<dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> <version>8.0.36</version> <scope>provided</scope> </dependency>
修改启动类,并重写初始化方法
使用jar包启动项目直接使用main即可,但是使用war包部署项目需要使用类似于web.xml的配置方式来启动spring上下文,在Application类的同级添加一个SpringBootStartApplication类,代码如下:
二、Tomcat准备
Step1:指定JAVA_HOME、JRE_HOME、CATALINA_HOME
在setclasspath.bat内指定JAVA_HOME、JRE_HOME:
在startup.bat中指定CATALINE_HOME
在Tomcat的bat脚本中指定JDK、TOMCAT环境,可以避免对环境变量的影响。
Step2:conf/Context.xml指定cacheMaxSize
避免项目启动时因未资源最大可使用缓存不够导致的报错““consider increasing the maximum size of the cache”,
三、制作War包
IDea+Maven:使用Maven工具的Lifecycle的package,先clean,再package(右键)->Run Maven Build
四、运行
将war包拷贝至Tomcat/webapps路径下,并使用bin/startup.bat脚本启动服务。