前言:最近两天在尝试写一个工具 jar 包,里面包含后台处理的 java 代码,包含前端 html、js、css、字体文件等,过程中解决了访问 jar 包里的静态资源问题,所以记录下来。

附:自己的一个 jar 包源码 https://github.com/yuleGH/querydb

方式一:

最开始采用阿里巴巴的源码 druid 的做法,使用一个 servlet,然后所有的请求经过这个 servlet,如果是文件,就读取到文件, 返回给前端。

这种方式经实现,没问题。不过感觉是有点影响性能。

方式二:

在网上找资料发现,servlet 3.0 以上的版本支持直接访问 jar 包里面的资源文件。

访问方式:将 jar 包里的 META-INF/resources 目录看成根目录,则这个目录下的文件都可以直接访问

举例:

jar 包如下

访问方式如下:

jar 包源码如何在 META-INF 下建立 resources 文件夹的?

我是在 idea + maven 环境下的。

直接在 resources 目录下建立 META-INF 文件夹,然后再建立 resources 文件夹,然后放自己需要的静态文件即可。

最后打包就可以了。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐