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