Spring Boot 打war包 without parent 躺坑记
发布日期:2021-08-28 04:40:44 浏览次数:2 分类:技术文章

本文共 2264 字,大约阅读时间需要 7 分钟。

hot3.png

  由于公司运维部署项目采用的都是外置tomcat形式,所以要将springboot默认jar形式改成war形式,其中遇到各种坑,在此记录一下,也希望可以帮助遇到同样坑的伙伴。

  如标题,我项目不是继承spring-boot-starter-parent形式,如下:

org.springframework.boot
spring-boot-dependencies
1.5.7.RELEASE
pom
import

因为我的是一个web项目,引入spring-boot-starter-web,此模块包含tomcat,所以在pom做如下剔除即可

org.springframework.boot
spring-boot-starter-tomcat
provided

对啦,剔除之后还要引用如下

javax.servlet
javax.servlet-api
provided

再将packaging jar 改为 war,

构建插件加入如下(注意看代码中的注释,很重要):

org.springframework.boot
spring-boot-maven-plugin
1.5.7.RELEASE
xxx.Application
ZIP
-Dfile.encoding=UTF-8
true
repackage
org.apache.maven.plugins
maven-war-plugin
false
xxx.Application
true

最后,最重要的一个就是更改启动类Application,修改如下(也请注意注释):

@SpringBootApplication//@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})如果项目不需要连数据库,一定要剔除dataSource自动配置,否则会报错误,具体你实验就知道了,哈哈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);	}}

按照以上操作完就可以把打好的war放到外置的tomcat跑起来了,躺坑记录完毕,又可以愉快地耍了~~

转载于:https://my.oschina.net/dailongyao/blog/1580258

转载地址:https://blog.csdn.net/weixin_33940102/article/details/92445621 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:100-100
下一篇:关于BigDecimal四舍五入模式

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月25日 21时12分12秒