springboot-jsp打jar问题
Posted eelve
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot-jsp打jar问题相关的知识,希望对你有一定的参考价值。
【**前情提要**】最近做了一个项目,项目是springboot+jsp结构的,但是在发布生产环境的时候又需要用maven打成jar包,但是一开始的默认配置都不成功。下面的文章就是具体的解决过程。
-----
# 壹、项目结构
![项目结构](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810230714604-930434183.png)
# 贰、异常现象
使用的JDK为1.8,springboot版本为:
```xml
org.springframework.boot
spring-boot-starter-parent
1.5.6.RELEASE
UTF-8
UTF-8
1.8
```
打成的jar只包含class文件,没有见资源文件引入。
![没有包含resourse的编译结果](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810230714757-503965857.png)
# 叁、解决办法
## 1. 添加资源路径的映射
```xml
src/main/resources
**/**
false
src/main/webapp
META-INF/resources
**/**
src/main/java
**/*.java
```
## 2. 修改maven编译版本为1.4.2
只有使用这个版本打jar包才能解析jsp
## 3. 设置mainClass
```xml
org.springframework.boot
spring-boot-maven-plugin
1.4.2.RELEASE
com.gt.LaysshApplication
```
## 4. 添加视图配置(可选)
```xml
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
```
下面给出一个比较完整的maven编译配置
```xml
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
```
下面就是修改编译配置之后的结果
![正确的结果](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810230714889-604229825.png)
----
【写在后面的话】现代的模板解析引擎已经有了这么多了,为什么不试一下**thymeleaf**,但是在最近的项目中碰到了th:src标签不解析的问题,目前还不清楚具体原因,而且相同的写法在其他页面都生效,真是怪异啊。鉴于目前还是又很多人使用springboot+jsp来进行开发,但是因为使用IDEA工具创建的SpringBoot项目本身是没有webapp目录的。如果我们想要添加webapp目录的话,可以手动添加。下面就简单的来说一下配置过程。
-----
## 1.点开项目结构管理,点击IDEA右上角的Project Structure
![Project Structure](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810230715126-57042101.png)
## 2.先点击下图中的+号,再点击Web
![2019071904](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810230715322-546557570.png)
## 3.修改配置
下图是修改配置前的默认配置
![修改前的配置](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810230715473-2026384157.png)
下面将webapp配置到传统的main目录下
![修改后的配置](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810230715645-786146525.png)
![配置Artifacts](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810230716362-1290966957.png)
![最后的配置成功的结果](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810230730589-815402908.png)以上是关于springboot-jsp打jar问题的主要内容,如果未能解决你的问题,请参考以下文章
springboot-jsp打jar问题
学习springboot
springboot2.0+dubbo-spring-boot-starter聚合项目打可执行的jar包
mvn package 打包时加入本地jar包
05_SpringBoot打jar/war包解决第三方依赖jar包的问题
idea打jar的bug?求大神解!!!