Springboot WebJar打包及使用實(shí)現(xiàn)流程解析
前言
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)公開(kāi)為靜態(tài)資源。
官網(wǎng)上面已經(jīng)有很多熱門(mén)webjar,但有時(shí)候還是不能滿足我們的需要,我們需要自己打包WebJar,本文記錄如何WebJar的打包、使用
打包
首先創(chuàng)建一個(gè)maven工程,干干凈凈什么都沒(méi)有
把一下常用的web資源(比如:jquery、bootstrap前端框架、layer彈出層、jqgrid分頁(yè)插件)放在resources文件夾下面,為了更直觀的區(qū)分,我們先新建一個(gè)plugin文件夾
編寫(xiě)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>
打開(kāi)maven工具欄,package打包
打包成功
target目錄下面就會(huì)生成jar包
jar包結(jié)構(gòu)是這樣子滴
有了jar包后我們就可以引入jar使用這些web靜態(tài)資源了,上傳到maven私服使用maven引入或者直接引入jar文件都行
使用
首先需要引入jar,如果是直接把jar放在項(xiàng)目里面就不多說(shuō)了直接復(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)目無(wú)需做修改
2、減少項(xiàng)目大小,提高打包、部署項(xiàng)目是的效率,例如本例中:
沒(méi)打包之前 14.4MB
打包之后 5.62MB,減少8.78MB
如果使用maven引入,則一點(diǎn)空間都不占,項(xiàng)目大小減少14.4MB
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- springboot web項(xiàng)目打jar或者war包并運(yùn)行的實(shí)現(xiàn)
- SpringBoot中關(guān)于static和templates的注意事項(xiàng)以及webjars的配置
- SpringBoot使用WebJars統(tǒng)一管理靜態(tài)資源的方法
- 淺談java項(xiàng)目與javaweb項(xiàng)目導(dǎo)入jar包的區(qū)別
- maven打包web項(xiàng)目時(shí)同時(shí)打包為war和jar文件的方法
- IDEA打包jar-解決找不到或無(wú)法加載主類 main的問(wèn)題
- 在idea中將java項(xiàng)目中的單個(gè)類打包成jar包操作
- 詳解IDEA使用Maven項(xiàng)目不能加入本地Jar包的解決方法
- IDEA 程序包不存在,找不到符號(hào)但是明明存在對(duì)應(yīng)的jar包(問(wèn)題分析及解決方案)
相關(guān)文章
IntelliJ IDEA的build path設(shè)置方法
這篇文章主要介紹了IntelliJ IDEA的build path設(shè)置方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(23)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07Mybatis collection查詢集合屬性報(bào)錯(cuò)的解決方案
這篇文章主要介紹了Mybatis collection查詢集合屬性報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09IDEA創(chuàng)建javaee項(xiàng)目依賴war exploded變紅失效的解決方案
在使用IntelliJ IDEA創(chuàng)建JavaEE項(xiàng)目時(shí),可能會(huì)遇到Tomcat部署的warexploded文件出現(xiàn)問(wèn)題,解決方法是首先刪除有問(wèn)題的warexploded依賴,然后根據(jù)圖示重新導(dǎo)入項(xiàng)目,此外,調(diào)整虛擬路徑有時(shí)也能有效解決問(wèn)題2024-09-09基于Mybatis實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換的示例代碼
在當(dāng)今的互聯(lián)網(wǎng)應(yīng)用中,微服務(wù)大行其道,隨著業(yè)務(wù)的發(fā)展和擴(kuò)展,單一的數(shù)據(jù)庫(kù)無(wú)法滿足日益增長(zhǎng)的數(shù)據(jù)需求,本文將基于 JDK17 + Spring Boot 3 和 MyBatis 框架實(shí)現(xiàn)動(dòng)態(tài)切換數(shù)據(jù)源功能,需要的朋友可以參考下2024-09-09解決SpringBoot框架因post數(shù)據(jù)量過(guò)大沒(méi)反應(yīng)問(wèn)題(踩坑)
這篇文章主要介紹了解決SpringBoot框架因post數(shù)據(jù)量過(guò)大沒(méi)反應(yīng)問(wèn)題(踩坑),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09