问题详情:
使用springboot开发项目完成后打war包和jar包出现的问题
问题1:打成war包出现部署以后访问项目404
解决办法:
创建一个新类继承SpringBootServletInitializer并重写器configer方法,返回值参数为原来的启动类
问题2:打成war包以后启动无法访问项目,包括进不了拦截器
解决办法:打成war包以后如果是idea中运行则项目启动名称必须和配置文件中的server.context-path一致,tomcat启动则war包名称必须和server.context.path一样
问题3:本地可以正常启动项目,但是服务器上面不能正确启动
解决办法:本地测试使用的tomcat8来进行开发测试,服务器上面使用的tomcat版本是tomcat7,springboot默认版本为tomcat8,因此打成war包以后不要使用springboot内置的tomcat启动,更改pom文件
问题4:打成jar包以后无法访问资源
解决办法:打成jar包必须更改pom文件,手动指定webapp目录资源的位置,且插件版本指定为1.4.2
2018-4-26更新:
如果打成jar包的话除了java代码外其余分为两种
1.jsp文件
此类文件需要打包到META-INF/resources文件夹下才可以访问到,不然会出现404,此时打包需要指定targetPath
2.其余静态资源文件,包括图片,js,css文件
此类文件需要打包到BOOT-INF/classes/statis文件夹下才可以正常访问,此文件夹问默认文件夹
修改过后的pom文件为: