springboot打成war包
最佳答案 问答题库378位专家为你答疑解惑
spring boot 打成war包
- 摘要
- 环境
- 修改maven配置
- 环境配置文件的调整
- 启动类引导
- 打包部署
摘要
本文主要以企业级应用服务器(weblogic、普元app server)部署应用的项目背景下,讲述了如何在Spring Boot 2.5.x环境下将项目打包成WAR包,并在Tomcat 9上运行。首先,需要在Maven配置中添加Maven War插件,并排除掉spring-boot-starter-web依赖中的集成tomcat包,然后添加tomcat依赖和servlet API。其次,需要在pom.xml文件中加入war标签以标识项目将被打包成WAR包。此外,如果在使用配置文件并且需要指定profiles.active,那么需要在application配置文件中指定spring.profiles.active=prod。最后,需要增加一个启动类,该类需要放在application.class类同目录下,并引导SpringApplicationBuilder进行配置。
环境
Idea 2023
Windows 10
tomcat 9
maven
springboot 2.5.x
修改maven配置
maven配置
改配置
<build><plugins>段里加war包插件<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.1.0</version></plugin>
如果war放在tomcat下启动出现Class not found
的问题,可能是因为一些dependency(比如springfox)的scope为provided,
provided
这个时候把注释掉就行。
要把spring-boot-starter-web依赖里的集成tomcat包排除掉,并单独添加tomcat依赖。
<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><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-servlet-api</artifactId><version>9.0.45</version><scope>provided</scope></dependency>
在标签内加入<packaging>war</packaging>
标签,放在、一块就行。
环境配置文件的调整
如果配置使用的是配置文件,并需要指定profiles.active那么需要自行在application(default配置文件里指定spring.profiles.active=prod。
启动类引导
增加启动类,使用war包后APP类的启动需要引导,此类要放到application.class类同目录下。
class SpringbootProfileServletInitializer extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(Application.class);}
}
打包部署
做完以上修改后,就可以用maven->clean,maven->package打包,生成的war包应该在target目录下。
可以先把war包放到tomcat webapps目录下启动测试下,然后再上传到app server。
99%的人还看了
相似问题
- 配置Nginx服务器用于Web应用代理和SSL{仅配置文件}
- rk3588使用vscode远程debug 配置文件
- Python3.7+PyQt5 pyuic5将.ui文件转换为.py文件、Python读取配置文件、生成日志
- SpringBoot-配置文件properties/yml分析+tomcat最大连接数及最大并发数
- Nginx的核心配置文件
- docker 安装mongodb 实现 数据,日志,配置文件外挂
- 总结:利用原生JDK封装工具类,解析properties配置文件以及MF清单文件
- 在gitlab中指定自定义 CI/CD 配置文件
- Spring集成MyBatis(自定义类和xml配置文件两种形式)
- IS420ESWBH3A GE 附加配置文件和I/O组件中的单独标签
猜你感兴趣
版权申明
本文"springboot打成war包":http://eshow365.cn/6-26321-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 2022最新版-李宏毅机器学习深度学习课程-P26 自注意力机制
- 下一篇: JVM进阶(2)