您好,登錄后才能下訂單哦!
前言
WebJar官網(wǎng):https://www.webjars.org/,對(duì)于任何與Servlet 3兼容的容器,WEB-INF/lib目錄中的webjar都會(huì)自動(dòng)作為靜態(tài)資源提供。這是因?yàn)閃EB-INF/lib中的JAR中的META-INF/resources目錄中的任何內(nèi)容都會(huì)自動(dòng)公開為靜態(tài)資源。
官網(wǎng)上面已經(jīng)有很多熱門webjar,但有時(shí)候還是不能滿足我們的需要,我們需要自己打包WebJar,本文記錄如何WebJar的打包、使用
打包
首先創(chuàng)建一個(gè)maven工程,干干凈凈什么都沒有
把一下常用的web資源(比如:jquery、bootstrap前端框架、layer彈出層、jqgrid分頁插件)放在resources文件夾下面,為了更直觀的區(qū)分,我們先新建一個(gè)plugin文件夾
編寫pom.xml,指定打包方式,以及構(gòu)建工具
<?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> <!-- 構(gòu)建工具 --> <build> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <targetPath>META-INF/resources/</targetPath> </resource> </resources> </build> </project>
打開maven工具欄,package打包
打包成功
target目錄下面就會(huì)生成jar包
jar包結(jié)構(gòu)是這樣子滴
有了jar包后我們就可以引入jar使用這些web靜態(tài)資源了,上傳到maven私服使用maven引入或者直接引入jar文件都行
使用
首先需要引入jar,如果是直接把jar放在項(xiàng)目里面就不多說了直接復(fù)制進(jìn)去就行,如果是要maven引入,則先需要把jar包發(fā)到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>
總結(jié)
使用WebJar有什么好處呢?
1、打成jar包方便管理,統(tǒng)一資源版本,如需升級(jí)資源版本,修改webjar工程、升級(jí)版本號(hào),重新打包上傳maven私服即可,項(xiàng)目無需做修改
2、減少項(xiàng)目大小,提高打包、部署項(xiàng)目是的效率,例如本例中:
沒打包之前 14.4MB
打包之后 5.62MB,減少8.78MB
如果使用maven引入,則一點(diǎn)空間都不占,項(xiàng)目大小減少14.4MB
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。