赞
踩
pringboot项目打成war包部署在tomcat下
tomcat 9.0.65
springboot 2.6.10
spring boot 自带有tomcat 打war时需要去掉(jar可不去)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
通过扩展SpringBootServletInitializer并覆盖configure方法来初始化Tomcat所需的Servlet上下文
package com.shiyongfj;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ShiYongFjApplication.class);
}
}
方式二:
@SpringBootApplication
public class DemoApp extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApp.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApp.class, args);
}
}
先清楚目录在打包防止干扰
将打好的target下的 war包放在tomcat webapps下
启动tomcat即可
tomcat 默然访问方式前面会带上war包名字
修改tomcat conf/server.xml
<Context path="" doBase="" reloadable="false"></Context>
path:指定访问该Web应用的URL入口。
docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。
reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。