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,但是也算找到解决的办法了,花了我一天的时间,在这里做个记录。

原文地址:https://www.cnblogs.com/breeze-zZ/p/12173193.html