本文目录

  • 什么是webjars?
  • 通过gradle引入webjars依赖
  • 使用
  • 原理
  • maven制作webjars
  • 通过gradle制作webjars并发布到本地
  • 大功告成!赶紧实现自己的webjars吧!

什么是webjars?

Web前端使用了越来越多的JS或CSS,如jQuery,Backbone.js和Bootstrap。一般情况下,我们是将这些Web资源拷贝到Java Web项目的webapp相应目录下进行管理。这种通过人工方式管理可能会产生版本误差,拷贝版本错误,漏拷等现象,导致前端页面无法正确展示,版本不一致,文件混乱等,导致出现一些莫名其妙的错误等。

WebJars是将web前端资源(js,css等)打成jar包文件,然后借助Maven工具,以jar包形式对web前端资源进行统一依赖管理,保证这些Web资源版本唯一性。WebJars的jar包部署在Maven中央仓库上。

WebJars官网:http://www.webjars.org/

通过gradle引入webjars依赖

dependencies {// https://mvnrepository.com/artifact/org.webjars/jqueryimplementation 'org.webjars:jquery:1.12.4'
}

引入后,jquery webjars的结构

使用

html中直接使用

<script src="/webjars/jquery/1.12.4/jquery.min.js"></script>

原理

springboot的自动装配帮我们配置好了webjars的映射

https://www.webjars.org/documentation#springboot
Spring Boot automatically configures Spring to map requests for /webjars to the /META-INF/resources/webjars directory of all the JARs in the CLASSPATH.

Idea中按住ctrl+shift+F 对 /META-INF/resources/webjars进行全局搜索

WebMvcAutoConfiguration.class帮我们配置好了,所以可以直接访问**/webjars/目录就能获取项目/META-INF/resources/webjars的资源文件,包括jar包中的资源;
所以我们只需要将这些资源打包到
/META-INF/resources/webjars**目录下就能通过引入jar包的方式使用静态资源了,方便了版本管理;

maven制作webjars

官网有很详细的说明,请参考官网吧

https://www.webjars.org/contributing

通过gradle制作webjars并发布到本地

  1. Idea中用gradle新建java moudle
  2. 我们将用到的静态资源放在/src/main/resources/webjars中
  3. build.gradle文件内容
plugins {id 'java'id 'maven'
}group 'jhd.jcode'
version '1.0'sourceCompatibility = 1.8repositories {mavenCentral()
}//打包webjar,发布到本地
uploadArchives {repositories.mavenDeployer {repository(url: 'file://I:/DEV/jhdMvnRepo/')}
}processResources {//将webjars目录整个拷贝到build目录下的/resources/main/META-INF/resources/webjarscopy {from("src/main/resources/webjars") {eachFile {println(getPath())}}into "$buildDir/resources/main/META-INF/resources/webjars"println("processResources: webjars copy success( created by jhd 20200620 16:19)")}
}jar {//打jar包之前先将build目录中原来的webjars文件删除doFirst {delete "$buildDir/resources/main/webjars"}
}
  1. gradle执行uploadArchives 即可完成webjar的制作
  2. 使用发布的自定义webjar
    gradle 向引入其他依赖一样引入自定义的webjars
 implementation 'jhd.jcode:jcode-web-webjars:1.0'
  1. 我们打的jar包目录结构

大功告成!赶紧实现自己的webjars吧!

springboot项目通过gradle制作webjars相关推荐

  1. SpringBoot前后端分离项目中如何制作前端jar包(类似swaggerUI前端jar包制作方法)

    SpringBoot前后端分离项目中如何制作前端jar包(类似swaggerUI前端jar包制作方法) 可用于SpringBoot引用的前端UI的Jar包,类似于SwaggerUI包 WABJAR介绍 ...

  2. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos

    SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...

  3. gradle 项目打包成多个jar包_永不失优雅——高效管理Springboot项目

    猿灯塔 全文略长 希望能帮到各位 另外!文末有你们想要的白嫖惊喜哦! 本文主要讲述一下如何优雅地管理SpringBoot项目. 第一种方式:使用SHELL脚本 As we known 作为一个后端程序 ...

  4. springboot项目如何使用HikariCP(国际主流)做为数据源,gradle构建工具

    1.创建springboot项目 创建这个不用说了吧... https://blog.csdn.net/u013294097/article/details/93042544 这儿有创建springb ...

  5. 教你如何制作vue+springboot项目

    前言 最近刚刚做了一个基于vue+springboot的学生成绩管理系统,于是基于这点,对遇到的一些问题进行一些配置的汇总.以及vue+springboot项目是怎么实现的,以下将贴出vue和spri ...

  6. pycharm项目中如何安装包_如何将Thymeleaf技术集成到SpringBoot项目中

    给天气预报一个"面子" 截至目前,不仅有了天气预报的API接口,也有了数据的缓存方案.现在,就要进行天气预报服务的实现,也就是说,这里需要一个面向用户的应用.这个应用应该拥有友好的 ...

  7. springboot项目之电影预告

    目录 一.开发环境准备 二.SpringBoot项目搭建 1.搭建SpringBoot项目 2.项目初始配置 2.1项目编码设置 2.2 Maven配置 2.3 git配置 2.4自动删除没用的包 3 ...

  8. Docker 部署SpringBoot项目不香吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...

  9. Spring Boot项目(Maven\Gradle)三种启动方式及后台运行详解

    Spring Boot项目三种启动方式及后台运行详解 1 Spring Boot项目三种启动方法 运行Application.java类中的Main方法 项目管理工具启动 Maven项目:mvn sp ...

最新文章

  1. 将pdf转为html,使用pdfdom将pdf转为html
  2. 5G 在物联网中的需求
  3. Mac下Unity5x的安装
  4. Spring_Hibernate整合准备
  5. win8 Windows 8 设置 默认浏览器
  6. 关于springBoot post请求参数过大导致后端接收不到参数问题
  7. hdu 5094 Maze
  8. 信息学奥赛一本通 1024:保留3位小数的浮点数 | OpenJudge NOI 1.1 04
  9. fastjson的一些常见用法
  10. python提高——进程、线程、协程对比及代码实现
  11. PLSQL用DBMS_JOB建立作业
  12. java awt android_Android开发基础之Java 日期时间
  13. matlab的开方算法_[转载]数值计算方法中的一些常用算法的Matlab源码
  14. 增值税相关软件基本常识
  15. 输入法编程之 光标跟随
  16. 【视频学习】宋维钢词霸天下38000词汇速记 万法归宗之英语语法速成全集
  17. 怎样快速提高计算机能力,如何提高算术能力?不借助计算机、笔、纸等工具,怎么能快速心算出多位数计算结果?如:489x85 如:128965-98542有什么口决及速算的方法的详细步骤?...
  18. Win7环境下STAF安装STAX遇到的问题及解决方法
  19. phpmywind 导航函数详解整理中……
  20. 酷炫小程序相册源码,制作属于自己的相册,免费下载

热门文章

  1. 机械硬盘的存储结构及原理
  2. 从UI设计到开发,Lottie使用全流程
  3. 复制工具copy-to-clipboard
  4. CSS实现loading小动画
  5. 世纪佳缘信息爬取存储到mysql,下载图片到本地,从数据库选取账号对其发送消息更新发信状态
  6. 产品深度拆解:Puzzle Dragon
  7. 推荐个OCP视频,51cto网站尚观的资料还不错,支持下载
  8. BigTable论文分析
  9. 我觉得好看的规章制度文章
  10. 上海蓝光集团ERP系统解决方案