Gradle spring boot 2.0 打包 jar 运行访问 jsp 报错 404

打包 jar 包,访问的时候报404。

原因:url -> dispatcher -> request.getDispatcher (jspName) ; jsp 取的是 根目录 下的;

maven:可以用 spring-boot-maven-plugin 1.4.2 打出能够 访问 jsp 的 jar。

gradle:怎么办呢?

1:spring-boot-gradle-plugin 用 1.4.2

2:  gradle版本在3.4 (5.1 版本后的gradle试了,发现打包报错 gradle.api。。。)

3:  必须依赖 tomcat-embed-jasper(内嵌tomcat)

4: 由于这个spring-boot-gradle-plugin导致,spring的依赖包都是低版本3.4左右的,gradle需要引入spring boot parent bom文件(spring 5.1.7)

// 引入 bom(pom) 文件的方式

dependencyManagement {

imports {

// 'groupId:artifactId:version'

// http://ju.outofmemory.cn/entry/336022

        mavenBom'org.springframework.boot:spring-boot-dependencies:2.1.5.RELEASE'

    }

}

5.jsp放在了 src/main/resources/META-INF/resources/WEB-INF/jsp (有篇外国文档说放在这个目录下)

-- 根据以上 1-5 的步骤。gradle build 打出的 jar 就可以访问 jsp 了

6. 配置一下 spring boot 下的 public WebServerFactoryCustomizerwebServerFactoryCustomizer() ,就可以在deubg阶段看到jsp界面了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容