码迷,mamicode.com
首页 > 编程语言 > 详细

springboot-jsp打jar问题

时间:2019-08-11 13:27:26      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:source   为什么   thymeleaf   参数   report   异常   jdk   resource   c11   

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


壹、项目结构

技术图片

贰、异常现象

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

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.6.RELEASE</version>
    <relativePath/> 
</parent>

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
</properties>

打成的jar只包含class文件,没有见资源文件引入。
技术图片

叁、解决办法

1. 添加资源路径的映射

<resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/**</include>
                </includes>
                <!-- 开启过滤,用指定的参数替换directory下的文件中的参数 -->
                <filtering>false</filtering>
            </resource>

            <resource>
                <directory>src/main/webapp</directory>
                <targetPath>META-INF/resources</targetPath>
                <includes>
                    <include>**/**</include>
                </includes>
            </resource>

            <resource>
                <directory>src/main/java</directory>
                <excludes>
                    <exclude>
                        **/*.java
                    </exclude>
                </excludes>
            </resource>

        </resources>

2. 修改maven编译版本为1.4.2

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

3. 设置mainClass

<plugins>
            <plugin>
                <!-- maven插件 -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.4.2.RELEASE</version>
                <configuration>
                    <mainClass>com.gt.LaysshApplication</mainClass>
                </configuration>
            </plugin>
        </plugins>

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

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

spring.mvc.view.suffix=.jsp

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

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/**</include>
                </includes>
                <!-- 开启过滤,用指定的参数替换directory下的文件中的参数 -->
                <filtering>false</filtering>
            </resource>

            <resource>
                <directory>src/main/webapp</directory>
                <targetPath>META-INF/resources</targetPath>
                <includes>
                    <include>**/**</include>
                </includes>
            </resource>

            <resource>
                <directory>src/main/java</directory>
                <excludes>
                    <exclude>
                        **/*.java
                    </exclude>
                </excludes>
            </resource>

        </resources>
        <plugins>
            <plugin>
                <!-- maven插件 -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.4.2.RELEASE</version>
                <configuration>
                    <mainClass>com.gt.MyApplication</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>

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

技术图片


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


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

技术图片

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

技术图片

3.修改配置

下图是修改配置前的默认配置
技术图片
下面将webapp配置到传统的main目录下
技术图片
技术图片
技术图片

springboot-jsp打jar问题

标签:source   为什么   thymeleaf   参数   report   异常   jdk   resource   c11   

原文地址:https://blog.51cto.com/14495372/2428447

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!