SpringBoot怎么打成war包在tomcat或wildfly下运行


本篇内容主要讲解“SpringBoot怎么打成war包在tomcat或wildfly下运行”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么打成war包在tomcat或wildfly下运行”吧!springboot默认的打包方式为jar包,jar包的有优点是不需要更改的配置,并且内嵌了tomcat,如果打成jar包直接可以丢到docker中运行测试。但是考虑到前端代码只能打成war包,因此干脆也将后端代码打成war包和前端的代码一起放在tomcat容器中的webapps中运行就好了。SpringBoot打包形式默认情况下,创建的SpringBoot项目是按照jar包形式来进行打包的。同时,内置了tomcat的容器。那么,此时如果想让springboot打包成war包,并部署到wildfly等容器,该如何处理?下面将从创建项目开始逐一讲解。创建项目创建项目没有什么难点,使用idea工具创建一个简单的maven项目即可,如果你的项目已经是springboot项目,想要修改为war包形式,对照修改即可。修改pom.xml配置创建项目之后,修改pom.xml文件,添加parent标签。如果原来是springboot项目,则已经包含了,不用修改。pom.xml中设置打包方式为war。war添加或修改dependency配置,如下:其中在spring-boot-starter-web中需要排除tomcat的依赖。同时,添加servlet-api的依赖。注意这里添加的依赖为Servlet2.5。在build中使用如下插件进行打包。启动main方法如果已经存在启动的main方法,则让main方法继承SpringBootServletInitializer,并实现其方法即可。如果是新创建项目,则直接在顶级目录创建SpringBootApp(启动类),然后启动diam如下。打包通过maven命令执行package打包即可,在target目录下即可生成war包。至于tomcat和wildfly的部署,都可将war包放置于对应的目录下启动服务即可。异常情况如果在启动时报如类似如下异常(提示缺少web.xml):Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)注意检查pom文件打包插件和是否排除了tomcat的问题,核查上面的打包插件是否正确。问题的原因是:springboot项目中引用了依赖包spring-boot-starter-web。该包中引用的spring-boot-starter-tomcat里包含了tomcat嵌入式serv免费云主机域名let容器,其不同版本实现的是不同的servlet版本规范。Servlet/JSP版本2.5/2.1支持Tomcat的版本为6.0.x,最低java版本为1.5。Servlet/JSP版本3.0/2.2支持Tomcat的版本为7.0.x,最低java版本为1.6。由于上面使用了Servlet2.5,当没有web.xml文件时会出现上面的异常。解决方式一:当Servlet版本小于3时,使用创建/src/main/webapp/WEB-INF/web.xml文件。解决方式二:在pom.xml的build下添加maven-war-plugin插件。并设置failOnMissingWebXml为false。到此,相信大家对“SpringBoot怎么打成war包在tomcat或wildfly下运行”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: Java关键字和变量数据类型怎么应用

本篇内容介绍了“Java关键字和变量数据类型怎么应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java中的关键字是由特定的单词组成,单词全为小写字母,每个都…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/10 18:47
下一篇 04/10 18:47

相关推荐