我爱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
愿你走出半生,归来仍是少年!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?