springboot-jsp打jar问题

前情提要】最近做了一个项目,项目是springboot+jsp结构的,但是在发布生产环境的时候又需要用maven打成jar包,但是一开始的默认配置都不成功。下面的文章就是具体的解决过程。


壹、项目结构

贰、异常现象

使用的JDK为1.8,springboot版本为:


    org.springframework.boot
    spring-boot-starter-parent
    1.5.6.RELEASE
     



        UTF-8
        UTF-8
        1.8

打成的jar只包含class文件,没有见资源文件引入。
springboot-jsp打jar问题_第1张图片

叁、解决办法

1. 添加资源路径的映射


            
                src/main/resources
                
                    **/**
                
                
                false
            

            
                src/main/webapp
                META-INF/resources
                
                    **/**
                
            

            
                src/main/java
                
                    
                        **/*.java
                    
                
            

        

2. 修改maven编译版本为1.4.2

只有使用这个版本打jar包才能解析jsp

3. 设置mainClass


            
                
                org.springframework.boot
                spring-boot-maven-plugin
                1.4.2.RELEASE
                
                    com.gt.LaysshApplication
                
            
        

4. 添加视图配置(可选)

spring.mvc.view.prefix=/WEB-INF/jsp/

spring.mvc.view.suffix=.jsp

下面给出一个比较完整的maven编译配置


        
            
                src/main/resources
                
                    **/**
                
                
                false
            

            
                src/main/webapp
                META-INF/resources
                
                    **/**
                
            

            
                src/main/java
                
                    
                        **/*.java
                    
                
            

        
        
            
                
                org.springframework.boot
                spring-boot-maven-plugin
                1.4.2.RELEASE
                
                    com.gt.MyApplication
                
            
        
    

下面就是修改编译配置之后的结果

springboot-jsp打jar问题_第2张图片


【写在后面的话】现代的模板解析引擎已经有了这么多了,为什么不试一下thymeleaf,但是在最近的项目中碰到了th:src标签不解析的问题,目前还不清楚具体原因,而且相同的写法在其他页面都生效,真是怪异啊。鉴于目前还是又很多人使用springboot+jsp来进行开发,但是因为使用IDEA工具创建的SpringBoot项目本身是没有webapp目录的。如果我们想要添加webapp目录的话,可以手动添加。下面就简单的来说一下配置过程。


1.点开项目结构管理,点击IDEA右上角的Project Structure

springboot-jsp打jar问题_第3张图片

2.先点击下图中的+号,再点击Web

springboot-jsp打jar问题_第4张图片

3.修改配置

下图是修改配置前的默认配置
springboot-jsp打jar问题_第5张图片

你可能感兴趣的:(java)