配置都没有问题,我遇到的问题居然是版本导致jsp页面无法访问,将springboot的编译插件的版本设定为1.4.2.RELEASE居然解决了问题。
前提先检测pom配置文件以及yml配置文件的配置
yml关于jsp的配置什么也不要填,用默认值就行了
yml配置文件的说明
关键的配置在于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>
-----------------------------------
©著作权归作者所有:来自51CTO博客作者诗水人间的原创作品,请联系作者获取转载授权,否则将追究法律责任
IDEA maven、springboot项目jsp页面打包成jar后 jsp页面404的解决方案
https://blog.51cto.com/u_15119353/4954568
网友评论