Springboot WebJar打包及使用实现流程解析
前言
webjar官网:,对于任何与servlet 3兼容的容器,web-inf/lib目录中的webjar都会自动作为静态资源提供。这是因为web-inf/lib中的jar中的meta-inf/resources目录中的任何内容都会自动公开为静态资源。
官网上面已经有很多热门webjar,但有时候还是不能满足我们的需要,我们需要自己打包webjar,本文记录如何webjar的打包、使用
打包
首先创建一个maven工程,干干净净什么都没有
把一下常用的web资源(比如:jquery、bootstrap前端框架、layer弹出层、jqgrid分页插件)放在resources文件夹下面,为了更直观的区分,我们先新建一个plugin文件夹
编写pom.xml,指定打包方式,以及构建工具
<?xml version="1.0" encoding="utf-8"?> <project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <!-- 打包方式 --> <packaging>jar</packaging> <groupid>cn.huanzi</groupid> <artifactid>webjar</artifactid> <version>1.0.1</version> <!-- 构建工具 --> <build> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <targetpath>meta-inf/resources/</targetpath> </resource> </resources> </build> </project>
打开maven工具栏,package打包
打包成功
target目录下面就会生成jar包
jar包结构是这样子滴
有了jar包后我们就可以引入jar使用这些web静态资源了,上传到maven私服使用maven引入或者直接引入jar文件都行
使用
首先需要引入jar,如果是直接把jar放在项目里面就不多说了直接复制进去就行,如果是要maven引入,则先需要把jar包发到maven私服,在pom中配置私服地址,然后引入
<!-- 配置私服地址 --> <repositories> <repository> <id>xxxxxxx</id> <name>xxxxxx</name> <url>xxxxxx</url> </repository> </repositories> <!-- 引入webjar --> <dependency> <groupid>cn.huanzi</groupid> <artifactid>webjar</artifactid> <version>1.0.1</version> </dependency>
使用方式就跟我们使用resources下面的资源一样,我们看一下thymeleaf引入例子:
<!-- jquery -->
<script th:src="@{/plugin/jquery.min.js}"></script>
总结
使用webjar有什么好处呢?
1、打成jar包方便管理,统一资源版本,如需升级资源版本,修改webjar工程、升级版本号,重新打包上传maven私服即可,项目无需做修改
2、减少项目大小,提高打包、部署项目是的效率,例如本例中:
没打包之前 14.4mb
打包之后 5.62mb,减少8.78mb
如果使用maven引入,则一点空间都不占,项目大小减少14.4mb
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。