(靠谱) Spring Boot与jsp打包成jar(war)使用

简介: (靠谱) Spring Boot与jsp打包成jar(war)使用

场景

使用 spring boot + html or jsp 组合时 , 目录如下

image.png

设置视图代码

@Configuration
@EnableWebMvc
public class MvcConfiguration implements WebMvcConfigurer, ApplicationContextAware {

    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/html/");
        resolver.setSuffix(".html");
        registry.viewResolver(resolver);
    }

}

但是打成jar包后,访问都是404,经过解压jar包查看,webapp里的文件全没有打包进去,搜索了很多资料,要么说指定spring boot的打包插件,要么是先解压 再把webapp里面的文件放进去,试了均不靠谱,不过解压再放进去这个可以,但是也太麻烦了把。

冷静思考,为啥webapp文件下没被打包进去

顺着打包的思路,在外面的网站上搜到了一篇blog,发现了一个神奇的东西,就是spring boot + jsp, 可以直接打成一个war包,然后直接java -jar xxx.war即可,同时jps|html文件也会被打进去,就不会发生文件找不到的情况了,

打包成war的目录结构解压后如下,多了一个WEB-INF,如果指定的是jar,则WEB-INF不会被打包的jar里,少了这么一个,所以用jar执行就会404出错,

image.png

在pom文件中指定packaging

image.png

直接java -jar o2o.war即可,

如果想让war丢到tomcat里也可以运行,就在启动类上添加如下代码:

image.png

原文blog:https://htr3n.github.io/2018/12/jsp-spring-boot/

注意

不需要改spring-boot-maven-plugin的版本,有的博客说必须指定为1.4.2啥的~ 试了压根不是这么一回事儿,只要视图配好,项目结构对,直接打包成war运行就行了,说白了就是war会包含WEB-INF,而jar不会。

目录
相关文章
|
22天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
38 0
|
25天前
|
IDE Java Linux
Seata常见问题之重新打包以单独用jar来部署如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
101 1
|
2月前
|
Java 开发工具 Maven
springboot项目打包为sdk供其他项目引用
springboot项目打包为sdk供其他项目引用
|
21天前
|
Java Maven 微服务
springboot项目开启远程调试-jar包
springboot项目开启远程调试-jar包
17 0
|
2月前
|
Java Maven
流水线之项目打包找不到rt.jar
自己打包的时候在maven中这样配置就可以<bootclasspath>${java.home}\lib\rt.jar;${java.home}\lib\jce.jar</bootclasspath>。但是在云效中不是自己的服务器,这样配置不可以,如何找到jdk的具体位置呢?
102 0
|
3月前
|
Java 测试技术 Maven
Spring Boot项目打包配置详解
Spring Boot项目打包配置详解
81 0
|
1天前
|
安全 Java 应用服务中间件
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
4 0
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
|
3天前
|
XML Java C++
【Spring系列】Sping VS Sping Boot区别与联系
【4月更文挑战第2天】Spring系列第一课:Spring Boot 能力介绍及简单实践
28 0
【Spring系列】Sping VS Sping Boot区别与联系
|
22天前
|
存储 Java Spring
SpringBoot的 jar 可以直接运行
SpringBoot的 jar 可以直接运行
14 0
|
26天前
|
SQL 监控 Java
nacos常见问题之dubbo+nacos+springboot3的native打包成功后运行出现异常如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
33 2