个人网站建设日记之二--springboot打包war部署运行

原文链接:  http://www.leleblog.top/daily/more?id=4

 对springboot的接触时间不短了,却一直没有自己真正动手做一个小项目,这次个人网站的搭建使用了springboot,部署的时候发现,它对tomcat不太友好,对jsp简直是到了坑杀的地步,于是决定将这个坑记录下来。

    目前我所知道的两种打包部署的方式,一种是jar包运行,一种是war包放在外部tomcat下运行。

    话题是war包,所以对jar包的方式只是顺带提一下。

    1、springboot打包的方式很简单,在pom文件里面都会有<packing>标签,这里面选择jar或war就能打出相应的包。

    2、jar包打包的时候pom文件不需要更改,直接打包就好了;但是war包打包的时候需要去掉tomcat的依赖,<scope>设置为provided就代表在打包时不包含此依赖,下图。因为war是依靠外部tomcat运行的,自带一个tomcat会冲突。

                            

    3、war包部署运行还需要进行一步,要将Application启动类继承SpringBootServletInitializer,并重写configure方法,如下:

            

    4、eclipse右键项目,run as maven install。成功后在项目的target目录下会有对应的war包。

    5、war包放到tomcat的webapps目录下,运行。

            遇到异常:Caused by: java.lang.NoClassDefFoundError: javax/el/ELManager

扫描二维码关注公众号,回复: 3898080 查看本文章

            解决办法:tomcat换成8即可,或者自行找到el的jar包放入lib。

      6、 不使用jar的原因是jar包运行时提示找不到jsp页面,能进入controller却无法继续跳转到jsp。后来知道这是springboot本身就有缺陷,在springboot1.4.x某些版本jsp是可以访问的,但是1.5.x又访问不到,后面的版本也不清楚,至少我的2.0是不行的。鉴于如此繁琐的情况,所以还是选择了war包部署。


猜你喜欢

转载自blog.csdn.net/qq_35946969/article/details/80328385