新建SpringBoot项目时使用war包,说明这是一个web项目,因此发布的时候我把它放在tomcat的webapps下面。
注意:这里要让SpringBoot内置tomcat失效
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency>
让启动类继承SpringBootServletInitializer并重写方法
@SpringBootApplicationpublic class Application extends SpringBootServletInitializer{@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(Application.class);}public static void main(String[] args) {SpringApplication.run(Application.class, args);}}
tomcat设置
在server.xml中找到
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
在这个后面加上
<Context path="" docBase="/Users/jinying/apache-tomcat-8.5.57/webapps/index" reloadable="true"/>
其中docBase=”/Users/jinying/apache-tomcat-8.5.57/webapps/index” 写的是路径
相对路径的写法是 docBase="./index"
