WebJar的打包和使用


  前言

  WebJar官網:https://www.webjars.org/,對於任何與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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM