SprngBoot jar和war包目录结构分析和静态资源访问不到的问题

一个Java小白的学习之路 个人博客 youngljx.top

一、war包和jar包的目录结构分析

1、war包目录结构分析

WAR(Web Archivefile)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。

WAR包标准目录结构:
在这里插入图片描述
说明:

1、index.jsp[可选]

2、METAINF[MAVEN自动生成目录]

3、WEB-INF[必含]
①classes目录:存放Java类文件
②lib目录:所需要的jar包
③web.xml:war的描述文件

4、subdirectories[可选目录]

存放一些网页和照片,如:html,jsp,js,jpg等等。

2、jar包目录结构分析

在这里插入图片描述
说明:

SpringBoot提供的bootstrap的类是放到包的最外面,比如上面的org.springframework.boot.loader。

应用程序的代码则是需要放到BOOT-INF/classes目录下面;
然后应用程序依赖的其他jar包文件需要放到BOOT-INF/lib目录下。

BOOT-INF 中lib目录包含了Maven的jar依赖和第三方导入的jar依赖
classes 目录则包含了全量的程序员编写的类对应的class文件
application.properties 配置文件在BOOT-INF/classes目录中

当这个jar作为standardalone的程序运行时(没有放到container),
SpringBoot会在生成的META-INF/MANIFEST.MF里面将Main-Class设置成org.springframework.boot.loader.JarLauncher,JarLauncher类会创建一个spring自己的ClassLoader: LaunchedURLClassLoader, 这个classloader 会就能通过URL来加载上面BOOT-INF/lib里面所依赖的包,并且通过反射Manifest里面的Start-Class里面定义的类,然后invoke这个类里面的main方法。

原文链接:https://blog.csdn.net/chao821/article/details/88650674

二、打jar包后resource静态资源访问不到

还没有碰到过 预防做个记录

1、(包含第三方jar包)打成jar包方法

在这里插入图片描述
1.1 pom中待修改位置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值