我爱Java系列之---【SpringBoot打成war包部署】
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
愿你走出半生,归来仍是少年!