1.把下面这句话放入pom.xml中,放上边
<packaging>war</packaging>
2.war包要部署到tomcat服务器中,而springboot中自带了一个,这时候要去掉。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3. 注册启动类
第一种方式:创建 ServletInitializer.java,继承 SpringBootServletInitializer ,覆盖 confifigure(),把启动类 Application 注
册进去。外部 Web 应用服务器构建 Web Application Context 的时候,会把启动类添加进去。
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApplication.class);
}
}
第二种方式:直接改写启动类
@SpringBootApplication
public class Application extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
4.在pom.xml文件中最下面加上这个maven插件,注意不能直接用idea中的maven工具打包,必须用这个。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
5.清理项目,再打包,把打好的war包复制到tomcat下的webapp目录下,回到bin目录,cmd启动命令窗口,输入startup.bat。启动后就可以在浏览器端访问了。记得加上包名才可以访问。例:http://localhost:8080/day01_springboot_demo01-1.0-SNAPSHOT/hello
# 或者执行下面的命令 排除测试代码后进行打包 可以在idea中右边的maven命令栏的package命令上配置上下面这句话,也可以直接clean,package
clean package -Dmaven.test.skip=true