Springboot WebJar打包及使用实现流程解析

 更新时间:2020年08月27日 14:54:24   作者:云淡风轻博客  
这篇文章主要介绍了Springboot 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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java Metrics系统性能监控工具的使用详解

    Java Metrics系统性能监控工具的使用详解

    Metrics是一个Java库,可以对系统进行监控,统计一些系统的性能指标。本文就来和大家详细聊聊这个工具的具体使用,希望对大家有所帮助
    2022-11-11
  • idea中同一SpringBoot项目多端口启动

    idea中同一SpringBoot项目多端口启动

    本文主要介绍了idea中同一SpringBoot项目多端口启动,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • SpringBoot接收参数使用的注解实例讲解

    SpringBoot接收参数使用的注解实例讲解

    这篇文章主要介绍了详解SpringBoot接收参数使用的几种常用注解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Java迭代器实现Python中的range代码实例

    Java迭代器实现Python中的range代码实例

    这篇文章主要介绍了Java迭代器实现Python中的range代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • JPA原生SQL(自定义SQL)分页查询逻辑详解

    JPA原生SQL(自定义SQL)分页查询逻辑详解

    这篇文章主要介绍了JPA原生SQL(自定义SQL)分页查询逻辑详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Hibernate核心思想与接口简介

    Hibernate核心思想与接口简介

    这篇文章主要介绍了Hibernate核心思想与接口的相关内容,需要的朋友可以参考下。
    2017-09-09
  • Maven重复依赖问题解决(同一个jar多个版本)

    Maven重复依赖问题解决(同一个jar多个版本)

    本文主要介绍了Maven重复依赖问题解决(同一个jar多个版本),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Java多线程下解决资源竞争的7种方法详解

    Java多线程下解决资源竞争的7种方法详解

    这篇文章主要介绍了Java多线程下解决资源竞争的7种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Java中注解的工作原理

    Java中注解的工作原理

    什么是注解?用一个词就可以描述注解,那就是元数据,即一种描述数据的数据,Java中的注解是如何工作的,需要的朋友可以参考下
    2015-12-12
  • java 判断字符串中是否有重复字符的示例

    java 判断字符串中是否有重复字符的示例

    今天小编就为大家分享一篇java 判断字符串中是否有重复字符的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07

最新评论