WebJar官網:https://www.webjars.org/,對於任何與Servlet 3兼容的容器,WEB-INF/lib目錄中的webjar都會自動做爲靜態資源提供。這是由於WEB-INF/lib中的JAR中的META-INF/resources目錄中的任何內容都會自動公開爲靜態資源。前端
官網上面已經有不少熱門webjar,但有時候仍是不能知足咱們的須要,咱們須要本身打包WebJar,本文記錄如何WebJar的打包、使用jquery
首先建立一個maven工程,乾乾淨淨什麼都沒有web
把一下經常使用的web資源(好比:jquery、bootstrap前端框架、layer彈出層、jqgrid分頁插件)放在resources文件夾下面,爲了更直觀的區分,咱們先新建一個plugin文件夾apache
編寫pom.xml,指定打包方式,以及構建工具bootstrap
<?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包maven
jar包結構是這樣子滴工具
有了jar包後咱們就能夠引入jar使用這些web靜態資源了,上傳到maven私服使用maven引入或者直接引入jar文件都行ui
首先須要引入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有什麼好處呢?
一、打成jar包方便管理,統一資源版本,如需升級資源版本,修改webjar工程、升級版本號,從新打包上傳maven私服便可,項目無需作修改
二、減小項目大小,提升打包、部署項目是的效率,例如本例中:
沒打包以前 14.4MB 打包以後 5.62MB,減小8.78MB
若是使用maven引入,則一點空間都不佔,項目大小減小14.4MB