Spring Boot奇葩问题总结

Posted breeze-zz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot奇葩问题总结相关的知识,希望对你有一定的参考价值。

这几天接手了一个springboot开发的项目,打包的时候遇到了个问题,项目在IDE中运行是一点错都没有的,打成jar包后访问就找不到jsp了

技术图片

 

 

 先是查了查Whitelabel Error Page,发现添加上tomcat-embed-jasper有些变化

        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

技术图片

 

 然后我就发现我的webapp下的文件都没打进jar包里,接着查怎么把webapp下的文件打进jar包,需要在pom里的build下添加下面这个

        <resources>
            <resource>
                <directory>src/main/webapp</directory>
                <targetPath>META-INF/resources</targetPath>
                <includes>
                    <include>**/**</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/**</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>

这样确实打包进去了,但是还是找不到jsp,然后在网上看到有人说springboot插件spring-boot-maven-plugin要用1.4.X才能正常访问,1.4之后的都不行,我试验了下确实是这个问题,在网上也没查到原因,后来看到有人说“其实打成war的形式也一样可以通过 java -jar xxx.war跑起来”,试了下确实也行。现在就有两种方式可以正常打包了,一种是,使用spring-boot-maven-plugin-1.4.x.RELEASE的插件打成jar包,运行java -jar xxx.jar,另一种就是直接打成war包,运行java -jar xxx.war。

虽然还是没有找到为什么后面的版本打的jar包不能访问jsp,但是也算找到解决的办法了,花了我一天的时间,在这里做个记录。

以上是关于Spring Boot奇葩问题总结的主要内容,如果未能解决你的问题,请参考以下文章

解决spring-boot启动中碰到的问题:Cannot determine embedded database driver class for database type NONE(转)(代码片段

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

Spring-Boot 访问外部接口的几种方案总结