本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(1)

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

发布于2021-05-29 22:53     阅读(617)     评论(0)     点赞(17)     收藏(4)


场景

使用 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不会。

原文链接:https://blog.csdn.net/cainiao1412/article/details/117322202



所属网站分类: 技术文章 > 博客

作者:程序员之神

链接:http://www.javaheidong.com/blog/article/207621/accf294d3bd814163500/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

17 0
收藏该文
已收藏

评论内容:(最多支持255个字符)