配置都没有问题,我遇到的问题居然是版本导致jsp页面无法访问,将springboot的编译插件的版本设定为1.4.2.RELEASE居然解决了问题。

前提先检测pom配置文件以及yml配置文件的配置
yml关于jsp的配置什么也不要填,用默认值就行了

yml配置文件的说明

IDEA maven、springboot项目jsp页面打包成jar后 jsp页面404的解决方案_jsp页面
关键的配置在于pom,上面的yml只是为了强调不要加前缀后缀这类,或者你配置一个正确的前缀、后缀访问路径。

pom的配置如下

关于jsp的相关依赖进行检测,其中的scope是否是provide无关紧要,因为springboot的maven插件会将其打包进去

 <!-- 对jsp的依赖-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>

最关键的还是后面的build需要指定jsp页面的位置,也就是通过插件jsp页面也打包进jar
注意配置主类路径,jsp正确的路径,resource。

编译插件指定版本为1.4.2.RELEASE,如果这个版本的插件报红,则先将其引入到dependences中将其下载到本地仓库中,然后再移除,这个时候plugin中的这依赖就不会包红了

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>1.4.2.RELEASE</version>
</dependency>

配置

<!-- springboot 编译插件-->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>1.4.2.RELEASE</version>
            <configuration>
                <fork>true</fork>
                <addResources>true</addResources>
                <mainClass>top.yumbo.springcloud.car.CarServiceCallerApplication</mainClass><!--主类的路径-->
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <!-- 指定资源文件的位置,否则maven打包的时候不会jsp页面打包进jar -->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/**</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/webapp</directory>
            <targetPath>META-INF/resources</targetPath>
            <includes>
                <include>**/**</include>
            </includes>
        </resource>

    </resources>
</build>